使用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
在这里插入图片描述
生成成功

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值