EF Core Code First

0.使用NuGet包管理工具安装
Microsoft.EntityFrameworkCore
Microsoft.EntityFrameworkCore.Relational
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools
Microsoft.EntityFrameworkCore.Design

1.建立Entity
    ///<summary>
    /// 版 本 Pandora V1.0.1 万邦敏捷开发框架
    /// Copyright (c) 2019-2020 松原市万邦科技有限公司
    /// 创建人:万邦科技-Anthony 
    /// 日 期:2019/10/30 14:46:26 
    /// 描 述:应用程序
    ///</summary>
    [Table("Sys_Application")]
    public class Application : GenericEntity
    {
        /// <summary>
        /// 名称
        /// </summary>
        [MaxLength(30), Required]
        public string Name { get; set; }

        /// <summary>
        /// 简称
        /// </summary>
        [MaxLength(20)]
        public string ShortName { get; set; }

        /// <summary>
        /// 排序码
        /// </summary>
        public int? SortCode { get; set; }

        /// <summary>
        /// 逻辑删除状态(0:未删除,1:已删除)
        /// </summary>
        public bool DeleteMark { get; set; }

        /// <summary>
        /// 可用状态(0:可用,1:不可用)
        /// </summary>
        public bool EnabledMark { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [MaxLength(256)]
        public string Description { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreateTime { get; set; }

        /// <summary>
        /// 创建人Id
        /// </summary>
        public Guid? CreateUserId { get; set; }

        /// <summary>
        /// 创建人姓名
        /// </summary>
        [MaxLength(30)]
        public string CreateUserName { get; set; }

        /// <summary>
        /// 修改时间
        /// </summary>
        public DateTime? ModifyTime { get; set; }

        /// <summary>
        /// 修改人Id
        /// </summary>
        public Guid? ModifyUserId { get; set; }

        /// <summary>
        /// 修改人姓名
        /// </summary>
        [MaxLength(30)]
        public string ModifyUserName { get; set; }

        /// <summary>
        /// 版本号
        /// </summary>
        [Timestamp]
        public byte[] Version { get; set; }
    }

2.建立上下文
      ///<summary>
    /// 版 本 Pandora V1.0.1 万邦敏捷开发框架
    /// Copyright (c) 2019-2020 松原市万邦科技有限公司
    /// 创建人:万邦科技-Anthony 
    /// 日 期:2019/10/30 11:45:17 
    /// 描 述:基础库上下文
    ///</summary>
    public class SysDbContext : DbContext
    {
        /// <summary>
        /// 构造函数-初始化
        /// </summary>
        /// <param name="options"></param>
        public SysDbContext(DbContextOptions<SysDbContext> options) : base(options) { }

        /// <summary>
        /// 表集合
        /// </summary>
        public DbSet<Application> Departments { get; set; }


        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
            modelBuilder.Entity<Application>()
                .HasIndex(u => u.Name)
                .IsUnique(); //设置唯一索引
        }
    }

3.在appsettings.json配置文件中添加数据库连接信息
  "ConnectionStrings": {
    "SysConnection": "Server=.;Database=Pandora;uid=sa;pwd=123;MultipleActiveResultSets=true;Pooling=true;Max Pool Size=1000;Min Pool Size=0;"
  }

4.在Startup.cs 的ConfigureServices方法中注入数据库上下文
            //数据库上下文
            services.AddDbContext<SysDbContext>(options =>
            {
                options.UseSqlServer(Configuration.GetConnectionString("SysConnection"));
            });

5.在 程序包管理器控制台中输入以下命令进行数据库迁移
Add-Migration Init  //其中Init是你的版本名称
update-database Init //更新数据库操作 init为版本名称
原文地址:https://www.cnblogs.com/Anthony518/p/12009566.html