引入Tools包
-
使用NuGet安装Microsoft.EntityFrameworkCore.Tools包
在NuGet包控制台输入:
Install-Package Microsoft.EntityFrameworkCore.Tools
同时下载自己想要连接的数据库的EF Core支持包,这里以SqlServer举例:
Install-Package Microsoft.EntityFrameworkCore.SqlServer
-
或者使用Visual Studio图形界面进行下载:
找到工具->NuGet包管理器->管理解决方案的NuGet程序包
搜索下载到这两个包:
数据库配置
- 建立要创建的实体类:
public class Book
{
public long Id { get; set; }
public string? Title { get; set; }
public DateTime PubTime { get; set; }
public double Price { get; set; }
public string? Author { get; set; }
}
- 创建配置类,实现IEntityTypeConfiguration接口:
public class BookEntityCinfig : IEntityTypeConfiguration<Book>
{
public void Configure(EntityTypeBuilder<Book> builder)
{
//在Totable方法中输入所建表的名称,例如这里是Books表
builder.ToTable("Books");
}
}
- 创建数据库配置类,实现DbContext:
public class TestDbContext:DbContext
{
// 有几个实体就有几个DbSet
public DbSet<Book> Books { get; set; }
/// <summary>
/// 指定连接的字符串和数据库
/// </summary>
/// <param name="optionsBuilder"></param>
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
//Database中为连接的数据库名称,Sever中为所连接的数据库地址,.表示本地
string connectStr = "Server=.;DataBase=demo1;Trusted_Connection=True;TrustServerCertificate=true;MultipleActiveResultSets=true";
optionsBuilder.UseSqlServer(connectStr);
//base.OnConfiguring(optionsBuilder);
}
/// <summary>
/// 告诉程序配置类在哪里
/// </summary>
/// <param name="modelBuilder"></param>
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.ApplyConfigurationsFromAssembly(this.GetType().Assembly);
}
}
生成数据库表
在包管理器输入
Add-Migration name
name填写你想要的名称
在解决方案中出现Migrations文件夹代表生成创建代码成功。
再在包管理控制台输入 :
Update-DataBase
提示Build succeed表示建立成功
打开ssms
生成成功