实现CodeFirst自动数据迁移无需手动执行命令


本主题假设您掌握了实体框架中 Code First 迁移的基本知识。

借助自动迁移功能,您无需对您所做的每一个更改都在程序包管理器控制台中手动Update-Database 。

 

启用迁移

只需执行一次开启迁移命令,在程序包管理器控制台中运行 Enable-Migrations(如已启用迁移则无需再次执行)。

AutomaticMigrationsEnabled = true; 
AutomaticMigrationDataLossAllowed = true;

 

实现自动迁移

Global.asax

namespace AutoMigrate
{
    public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            //自动迁移
            Database.SetInitializer<Model1>(new MigrateDatabaseToLatestVersion<Model1, AutoMigrate.Migrations.Configuration>());
            var dbMigrator = new DbMigrator(new AutoMigrate.Migrations.Configuration());
            dbMigrator.Update();
        }
    }
}

至此之后您的项目添加实体对象属性后 而无需运行Update-Database 命令。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM