azure - 启用 EF 代码优先迁移后,Azure 网站上出现内部服务器错误

标签 azure azure-sql-database azure-web-app-service

我有一个非常简单的 MVC5 Web 应用程序 (VS 2013 RC),部署到 Azure 网站中。它一直有效,直到我在“发布 Web”对话框中选中“执行代码优先迁移”。现在,当我访问该网站时,出现内部服务器错误。如果我取消选中“发布 Web”对话框中的“执行代码优先迁移”复选框,则 Web 应用程序将按预期工作。在解决问题的过程中,我从本地计算机直接连接到 Azure 托管的数据库并运行 Enable-Migrations 和 Update-Database 命令,但我不确定这是否有必要。

您知道该复选框的用途是什么以及应如何在 Azure 中启用自动代码优先迁移吗?

最佳答案

上周,当我启用代码优先迁移并重新发布之前一直在运行的网站时,我遇到了类似的问题。我的观察似乎表明了这一点:

如果您选中了该选项,当您的网站最初开始运行时,它将运行代码优先迁移。由于我的新创建的表有一些“创建表”,因此它运行了该代码。不幸的是,我已经发布了一个包含 SQL Server 2012 到 Azure 的现有数据库,并且该表中有数据。因此,代码首次迁移导致它删除该表并重新创建它。

我不能 100% 确定这就是正在发生的事情,但我相信确实如此。主要是因为当我进入 SQL Server Management Studio 并查看 Azure 上表的数据时,启动站点后它是空的。

为了确认,我重新发布了我的网站并确认数据库表中有数据。运行该网站,它就消失了。

因此,不可避免地,我只是取消选中该框并重新发布我的网站和数据库。一旦我这样做了,数据就在那里并且网站仍然可以工作。

关于azure - 启用 EF 代码优先迁移后,Azure 网站上出现内部服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19345204/

相关文章:

.net - 将 Angular 模板 Web 应用程序添加到 Azure Service Fabric 集群?

azure - Terraform 计划输出显示 2 个更新到位

asp.net-mvc - SQL Azure 最大并发 session 数

Azure 应用服务返回错误 - 错误 403 - 禁止 您尝试访问的 Web 应用程序已阻止您的访问

c# - 以编程方式删除文件并将其上传到 Azure Web 应用本地存储

powershell - 新的 Azure 资源组 powershell

ios - microsoft azure 客户端 swift 库选择 nolock

node.js - 使用 NodeJS 中的服务主体连接到 Azure SQL,但 token 被拒绝

node.js - 如何从 NodeJS/Tedious 连接到 SQL Azure?

用于托管在 azure 存储 blob 上的静态网站的 azure 管道