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

时间:2023-03-10 01:38:34
实现CodeFirst自动数据迁移无需手动执行命令

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

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

启用迁移

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

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

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 命令。