实体框架5自动代码迁移

时间:2013-01-08 10:19:06

标签: entity-framework ef-code-first entity-framework-5 ef-migrations

在我当前的网络项目中,我正在尝试设置代码迁移。我在我的MVC4项目中设置了我的db初始化器,如下所示

protected void Application_Start()
{
    Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyContext, Configuration>());
}

我可以更改我的代码第一个模型,这会在我启动网站时将数据库更新为最新的自动迁移。

但是我正在尝试通过控制台Add-Migration FirstMigration添加显式迁移,因此我可以添加一些索引。这会将代码文件201301071708126_FirstMigration添加到我的项目中,我可以在这里轻松添加我的索引代码。

但是当我重新启动网站时,这不会自动运行。我必须从控制台运行Update-Database才能应用此迁移。

I followed this tutorial on msdn但是我看不出我做错了什么,因为它告诉我显式迁移应该自动运行。

在我的配置文件中,我有以下构造函数

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

2 个答案:

答案 0 :(得分:4)

我刚才找到了答案,我错过了问题中的一些信息。

我有2个网站,一个MVC应用程序和一个WEBAPI应用程序。我需要在两者中进行数据库初始化,否则它无法正常工作。

答案 1 :(得分:-1)

在我的应用程序构造函数中我有

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

并更新模型。