zoukankan      html  css  js  c++  java
  • 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为版本名称
  • 相关阅读:
    vagrant
    webapp开发
    UIViewAnimationOptions swift 2
    swift 2
    autolayout 总结
    apache 403错
    hadoop配置优化
    hadoop配置优化
    使用spark访问elasticsearch的数据
    使用spark访问elasticsearch的数据
  • 原文地址:https://www.cnblogs.com/Anthony518/p/12009566.html
Copyright © 2011-2022 走看看