EF Code First 4.3.1迁移:即使没有任何更改,也始终对数据进行种子设定



我正在ASP.NET MVC 4项目中使用新的迁移,在迁移/配置文件中,我有以下内容:

public Configuration()
        {
            AutomaticMigrationsEnabled = false;
            AutomaticMigrationDataLossAllowed = false;
        }

在同一个文件文件中,我还有一个填充数据库的Seed方法。我注意到,每次运行我的应用程序时,即使模型没有改变,它也会重新设置数据库的种子。在我的global.asax文件中,我在Application_Start 中有以下数据库初始化程序

Database.SetInitializer(new MigrateDatabaseToLatestVersion<UtilitiesContext, Migrations.Configuration>());

我只希望它在模型更改或我运行"更新数据库"命令时为数据库种子。我该怎么做呢?

DropCreateDatabaseIfModelChanges怎么样?请参阅MSDN的这篇文章。只有当数据库与模型不同时,才会重新设定种子。

用法:

 Database.SetInitializer(new DropCreateDatabaseIfModelChanges<UtilitiesContext>());

实际上,我只是一起删除了初始值设定项语句,它就起了作用。

最新更新