实体框架5自动代码迁移

4

在我的当前Web项目中,我正在尝试设置代码迁移。在我的MVC4项目中,我将我的数据库初始化器设置如下:

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

我可以对我的代码进行更改,这将更新数据库到最新的自动迁移,当我启动网站时会按预期执行。但是我正在尝试通过控制台添加显式迁移Add-Migration FirstMigration,以便我可以添加一些索引。这将在我的项目中添加代码文件201301071708126_FirstMigration,我可以很容易地在此处添加我的索引代码。但是,当我重新启动网站时,这不会自动运行。我必须从控制台运行Update-Database来应用此迁移。我遵循了msdn上的教程,但我看不出我做错了什么,因为它告诉我显式迁移应该自动运行。在我的配置文件中,我有以下构造函数。
public Configuration()
{
    AutomaticMigrationsEnabled = true;
    AutomaticMigrationDataLossAllowed = true;
}
2个回答

4

我前不久找到了这个问题的答案,但在问题中错过了一些信息。

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


-1
在我的应用程序构造函数中,我有以下代码: Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MYContext>()); 它会更新模型。

请再次阅读问题。我不想删除数据库,我想将其迁移到最新版本,以便不会丢失数据。 - Neil

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接