在Azure上运行DNX(EF7)数据库迁移

时间:2015-10-17 14:58:57

标签: asp.net azure database-migration dnx entity-framework-core

我一直在本地运行ASP.NET 4.6和EF7的MVC项目,一切正常。我跑了dnx。 ef migration用于创建数据库表的初始命令,一切运行正常。该应用程序工作。

使用Azure我有一个问题,我似乎无法运行dnx。 ef migration命令所以我的SQL数据库是空的。我已经调试了Startup.cs并正确检索了连接字符串,但表中没有。

我使用Visual Studio 2015中的“发布”选项部署到我的Azure Web App。

如何在我的网络应用上运行此命令?还有另一种生成数据库的方法吗?

由于

1 个答案:

答案 0 :(得分:10)

似乎EF团队已经淘汰了臭名昭着的数据库初始化程序,并为版本7提供了更通用的方法。

在调用数据库之前,只需在管道中使用这些方法,

yourDbContext.Database.EnsureCreated();

创建数据库,以防它不存在和

yourDbContext.Database.Migrate();

应用迁移(如果稍后使用此功能)。上述两种方法也都有异步版本。

在我的解决方案中,我创建了一个静态类,用于初始化数据库并使用一些数据对其进行种子处理。当满足某些条件时,我从Startup类中的Configure方法调用Seed方法。