使用nuget 添加EntityFramework 引用
引入命名空间
using System.Data.Entity;using System.Data.Entity.Migrations;
关键代码
internal sealed class MainDbMigrationsConfiguration: DbMigrationsConfiguration<MainDbContext> { public MainDbMigrationsConfiguration() { //默认情况下不会自动迁移数据库结构 //设置为true则自动迁移数据库结构 AutomaticMigrationsEnabled = true; } }
完整的类大概是这个样子
using System.Data.Entity; using System.Data.Entity.Migrations; namespace ManageSystem.Core { public class MainDbContext : DbContext { public MainDbContext() : base() { Database.SetInitializer<MainDbContext>(new MigrateDatabaseToLatestVersion<MainDbContext, MainDbMigrationsConfiguration>()); } public MainDbContext(string connectionName) : base(connectionName) { Database.SetInitializer<MainDbContext>(new MigrateDatabaseToLatestVersion<MainDbContext, MainDbMigrationsConfiguration>()); } internal sealed class MainDbMigrationsConfiguration: DbMigrationsConfiguration<MainDbContext> { public MainDbMigrationsConfiguration() { AutomaticMigrationsEnabled = true; } } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Conventions.Remove<System.Data.Entity.ModelConfiguration.Conventions.PluralizingTableNameConvention>(); } } }
这种方式主要是将原本独立出来的类合并到DbContext中来.
更常规一点的做法是把下面这段代码独立出来,放在一个类里面方便后期维护
internal sealed class MainDbMigrationsConfiguration: DbMigrationsConfiguration<MainDbContext> { public MainDbMigrationsConfiguration() { AutomaticMigrationsEnabled = true;//任何Model Class的修改将会直接更新DB AutomaticMigrationDataLossAllowed = true; } }
作者:这个用户有点逗
链接:https://www.jianshu.com/p/acac2db222b6
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦