我在ASP.NET MVC 4项目中使用新的迁移,在迁移/配置文件中我有以下内容:
public Configuration()
{
AutomaticMigrationsEnabled = false;
AutomaticMigrationDataLossAllowed = false;
}
在同一个文件文件中,我还有一个填充数据库的Seed方法。我注意到每次运行我的应用程序时,即使模型没有更改,它也会重新设置数据库。在我的global.asax文件中,我在Application_Start中有以下数据库初始化程序
Database.SetInitializer(new MigrateDatabaseToLatestVersion<UtilitiesContext, Migrations.Configuration>());
如果模型更改或运行Update-Database命令,我只希望它为数据库设定种子。我该怎么做呢?
答案 0 :(得分:0)
DropCreateDatabaseIfModelChanges怎么样?见MSDN article。只有在数据库与模型不同时才会重新设置。
用法:
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<UtilitiesContext>());
答案 1 :(得分:0)
实际上我只是一起删除了初始化程序语句并且它有效。