實現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