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

Running DNX (EF7) database migration on Azure

我已经 运行 在本地使用 ASP.NET 4.6 和 EF7 构建了一个 MVC 项目,一切正常。我 运行 dnx 。 ef migration 创建数据库表的初始命令,一切正常 运行。该应用程序有效。

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

我在 Visual Studio 2015 年使用发布选项部署到我的 Azure Web 应用程序。

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

谢谢

似乎 EF 团队已经消除了臭名昭著的数据库初始化器,并在版本 7 上提供了一种更通用的方法。

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

yourDbContext.Database.EnsureCreated();

创建数据库以防它不存在并且

yourDbContext.Database.Migrate();

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

在我的解决方案中,我创建了一个静态 class,我用它来初始化数据库并为它添加一些数据。当满足某些条件时,我从 Startup class 的 Configure 方法调用 Seed 方法。