使用EF Core自动建表简单使用

引入Tools包

  1. 使用NuGet安装Microsoft.EntityFrameworkCore.Tools包
    在NuGet包控制台输入:
    Install-Package Microsoft.EntityFrameworkCore.Tools
    同时下载自己想要连接的数据库的EF Core支持包,这里以SqlServer举例:
    Install-Package Microsoft.EntityFrameworkCore.SqlServer

  2. 或者使用Visual Studio图形界面进行下载:
    找到工具->NuGet包管理器->管理解决方案的NuGet程序包
    在这里插入图片描述
    搜索下载到这两个包:
    在这里插入图片描述

数据库配置

  1. 建立要创建的实体类:
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; }

    }
  1. 创建配置类,实现IEntityTypeConfiguration接口:
public class BookEntityCinfig : IEntityTypeConfiguration<Book>
    {
        public void Configure(EntityTypeBuilder<Book> builder)
        {
        	//在Totable方法中输入所建表的名称,例如这里是Books表
            builder.ToTable("Books");
        }
    }
  1. 创建数据库配置类,实现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
在这里插入图片描述
生成成功