一、新建一个解决方案,包含两个项目:EF6CodeFirstMySQL.Model(动态库项目),EF6CodeFirstMySQL.Tests(控制台应用)

EF6配合MySQL或MSSQL(CodeFirst模式)配置指引

 

二、通过NuGet将EntityFramework6及MySql.Data.Entity包引入解决方案(两个项目都要引入)

EF6配合MySQL或MSSQL(CodeFirst模式)配置指引

 

三、在Model项目中添加三个类,BaseBill,Contract,DeliveryNote,后面两个类从BaseBill类继承。(代码参见附件)

 

四、在Model项目中添加DataModelContext类,继承自DbContext

    public class DataModelContext : DbContext
    {
        public DataModelContext()
            : base("DataModelContext")//web.config中connectionstring的名字
        {
        }

        public DbSet<Contract> Contracts { get; set; }
        public DbSet<DeliveryNote> DeliveryNotes { get; set; }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            //指定单数形式的表名
            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
            //物理表名添加xx前綴
            modelBuilder.Types().Configure(f => f.ToTable("xx" + f.ClrType.Name));
        }
    }
DataModelContext

相关文章: