为了账号安全,请及时绑定邮箱和手机立即绑定

.net Mvc Code First 模式 模型修改自动同步到数据库

标签:
Java

使用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 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
205
获赞与收藏
1008

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消