首页 > 其他 > 详细

EF Core Code First

时间:2019-12-09 12:15:56      阅读:54      评论:0      收藏:0      [点我收藏+]
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为版本名称

 

EF Core Code First

原文:https://www.cnblogs.com/Anthony518/p/12009566.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!