我正在使用Windows Azure来托管ASP.NET MVC4 Web应用程序。我想使用数据库第一次编程,并遵循this tutorial来创建数据库和数据模型。
然后,我在Windows Azure中创建了一个包含链接数据库的网站。我下载了发布配置文件并通过VS2012将其导入到项目中。我注意到没有包含数据库连接字符串,所以我从Azure中创建的数据库中收集它。
在“设置”选项卡下的发布向导中,我能够选中一个名为“更新数据库”的框,当我第一次发布网站时,一切都很完美,网站和数据库已上传。
然后我对数据库做了一些更改,更新了上面提到的教程中描述的数据模型,更新了我的代码并构建了项目。这次,当我进入“发布”向导并选择“设置”选项卡时,我无法再选中“更新数据库”复选框。而是有一个禁用的复选框,名为“执行代码优先迁移(在应用程序启动时运行)”。
为什么我不能再选择“更新数据库”复选框?我是否必须从现在开始手动更新数据库?我试图再次创建数据模型,但它没有帮助。
答案 0 :(得分:3)
这是完全正常的行为。您首次设置该选项,在连续部署时,代码优先迁移将在应用程序启动时进行。 EF(实体框架)将启动Code-First迁移。
特别是当您手动更新模型时。
您不必手动更新数据库。它将在应用程序启动时完成。启动Web应用程序后,如果选择迁移选项。
在此详细阅读:
EF Code First Migrations Deployment to an Azure Cloud Service