.NET5控制台程序如何使用EF连接MYSQL数据库
在 .NET5 控制台程序中,使用 Entity Framework(EF) 连接 MYSQL 数据库有多种不同的方法和方案。本文将介绍其中的一种方法,并在步骤中提供详细的说明。
步骤一:安装MySQL数据提供程序
在使用 EF 连接 MYSQL 数据库之前,必须先安装 MySQL 数据提供程序。在 .NET5 中,MYSQL 数据提供程序可以通过 NuGet 包管理器来安装。打开 Visual Studio 的 NuGet 包管理器,或者使用 .NET CLI 来安装 MySql.Data.EntityFrameworkCore:
dotnet add package MySql.Data.EntityFrameworkCore
步骤二:创建 MYSQL 数据库及表
在创建 EF 数据上下文前,必须先在 MYSQL 数据库中创建一个数据库和一些表。在 MySQL Workbench 中创建数据库:
CREATE DATABASE example_db;
在创建好数据库后,根据实际需要创建表。
步骤三:创建 EF 数据上下文类
创建一个 EF 数据上下文类,以便在 .NET5 控制台程序中使用 EF 连接 MYSQL 数据库。在创建 EF 数据上下文类时必须指定所连接的数据库类型。
using Microsoft.EntityFrameworkCore;
namespace ConsoleApp
{
public class ExampleContext : DbContext
{
public DbSet<User> Users { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseMySQL("server=localhost;database=example_db;user=root;password=mypassword");
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<User>().HasKey(u => u.Id);
modelBuilder.Entity<User>().Property(u => u.Name).IsRequired();
modelBuilder.Entity<User>().Property(u => u.Email).IsRequired();
}
}
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
}
}
以上代码中,ExampleContext 类是一个继承自 DbContext 类的 EF 数据上下文类。DbSet<User> 属性定义了一个名为 Users 的表,该表将在程序中映射到 MYSQL 数据库的 Users 表。
OnConfiguring 方法用来配置 EF 连接 MYSQL 数据库的选项。在此方法中,我们使用了 UseMySQL 方法来指定所连接的 MYSQL 数据库。
OnModelCreating 方法用来定义 MYSQL 表格的主键、字段等信息。
步骤四:在控制台程序中使用 EF 连接 MYSQL 数据库
创建完 EF 数据上下文类后,就可以在 .NET5 控制台程序中使用 EF 连接 MYSQL 数据库了。
using System.Linq;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
using (var context = new ExampleContext())
{
// 添加一条记录
var user = new User { Name = "example", Email = "example@gmail.com" };
context.Users.Add(user);
context.SaveChanges();
// 查询记录
var users = from u in context.Users
select u;
foreach (var u in users)
{
Console.WriteLine($"Id={u.Id}, Name={u.Name}, Email={u.Email}");
}
}
}
}
}
在以上程序中,我们首先创建了一个 EF 数据上下文类对象 context。接着,我们创建了一条 User 记录并将其添加到 Users 表中。
之后,我们使用 LINQ 查询语句从 Users 表中查询其所有记录,并循环输出每条记录的 Id、Name、Email 等信息。
总结:
本文介绍了使用 Entity Framework(EF) 连接 MYSQL 数据库的一种方法,并提供了详细的步骤和示例代码。读者可以根据自己实际的情况和需求,选择适合的方法来连接 MYSQL 数据库。需要注意的是,无论使用哪种方法,都必须先安装 MYSQL 数据提供程序,否则无法使用 Entity Framework 连接 MYSQL 数据库。
