4

我正在使用 Windows Azure 来托管一个 ASP.NET MVC4 Web 应用程序。我想使用数据库优先编程,并按照本教程创建数据库和数据模型。

然后,我在 Windows Azure 中创建了一个带有链接数据库的网站。我下载了发布配置文件并通过VS2012将其导入到项目中。我注意到没有包含数据库连接字符串,所以我从 Azure 中创建的数据库中收集了它。

在“设置”选项卡下的发布向导中,我能够选中一个名为“更新数据库”的框,当我第一次发布网站时,一切都很完美,网站和数据库已上传。

然后我对数据库进行了一些更改,更新了上述教程中描述的数据模型,更新了我的代码并构建了项目。这一次,当我进入发布向导并选择“设置”选项卡时,我不再能够选中“更新数据库”复选框。相反,有一个禁用的复选框,称为“执行代码优先迁移(在应用程序启动时运行)”。

为什么我不能再选中“更新数据库”复选框?我必须从现在开始手动更新数据库吗?我尝试再次创建数据模型,但没有帮助。

4

1 回答 1

3

这是完全正常的行为。您第一次设置该选项,在后续部署中,代码优先迁移将在应用程序启动时进行。EF(实体框架)将启动 Code-First 迁移。

特别是当您手动更新模型时。

您不必手动更新数据库。它将在应用程序启动时完成。当您的网络应用程序启动时,如果您选择迁移选项。

在此处详细阅读:

EF Code First Migrations 部署到 Azure 云服务

于 2014-05-03T13:02:44.450 回答