首次发布到 Azure

首次发布到 Azure

我在本地环境中创建了一个 ASP.NET MVC / WebAPI 2 Web 应用程序。我使用 LocalDb 进行开发,并遵循 EF“Code First”方法(我编写了所有模型类并在需要时运行迁移)。在我的本地环境中,一切正常。

我认为在 Azure 上发布应用程序进行测试是个好主意。我已经创建了 Web App + SQL 实例,并且可以连接到它们。我已成功发布了网站部分,但不幸的是,我无法发布数据库。

例如,当我访问 .azurewebsites.net 时,页面会加载 - 但当我尝试登录时,我会收到一条错误消息:

Cannot find the object “dbo.Locations” because it does not exist or you do not have permissions

这告诉我我的表尚未成功迁移(即使我在“发布”向导中选中了“执行代码优先迁移”)。

我已经尝试寻找解决方案两天了,但无济于事。我看到很多人说我需要本地迁移到 SQL Server,然后它才能在 Azure 上运行 - 但是,我找不到将我的数据从 LocalDb 导出到 SQL Server 的方法(即使在 SSMS 中我也找不到该选项)。

另外,我找到了一个指南 -http://www.asp.net/mvc/overview/getting-started/database-first-development/creating-the-web-application- 但是当涉及到数据库发布时,它说只需右键单击数据库解决方案并选择“发布” - 我没有数据库项目/解决方案 - 对我来说,它只是一个 mdf 文件。

我对 ASP.NET 还很陌生,所以非常感激任何帮助。谢谢!

答案1

我终于找到问题所在了。

新 Azure 门户中的连接字符串未提供必要的Database部分。因此,Web 应用程序尝试从数据库中选择一个表,但未选择数据库。

我添加了"Database=<my database>"连接字符串,现在它工作得很好!数据库最初是空的,但我能够将数据从本地 SQL Server 迁移到 Azure。

有趣的是,旧版 Azure 门户包括Database字符串。我会向 Microsoft 报告此问题。

相关内容