0

我一直在尝试创建一个 ASP.net - MVC 应用程序,它使用实体框架连接到 Azure 数据库。

我使用数据库优先方法尝试创建模型,我能够连接到我的 azure 数据库并成功创建模型。

一切都运行良好,我能够从我的 azure 数据库中检索我的值,然后我尝试将网站发布到 Azure 网站。该网站运行良好,我已将该网站注册为能够使用 azure 数据库。当我单击点击控制器以访问数据库的按钮时,我会收到“抱歉,处理您的请求时发生错误”。

当我进一步研究这一点时,我发现当我使用向导创建我的实体数据模型时,它为我的实体连接设置创建了一个到本地数据库的连接字符串。我猜这是在保存一些实体框架设置,但我的问题显然是当我将网站发布到 Azure 时,它​​无法访问这个本地数据库。

关于如何将这个数据库放到 Azure 上或避免使用这个额外的数据库的任何建议?

谢谢

4

2 回答 2

1

是将本地数据库迁移到 Azure 的最佳工具。在发布站点之前,将 web.config 更改为指向 Azure 数据库。它会解决你的问题。

于 2012-09-21T10:29:13.350 回答
1

就像您已经解释的那样,您的 web.config 似乎仍然指向您的本地数据库。尝试查看您的 web.config 并查看是否有指向.\SQLExpresslocalhost\SQLExpress"."的连接字符串。, ...

然后,就像 Geenthanga 解释的那样,您需要在部署之前修改此值(它应该指向您的 SQL Azure 数据库)。但是您不应该手动执行此操作!相反,请考虑使用 web.config 转换,如下所述:Web 部署:Web.Config 转换

这样您就可以拥有 2 个 web.config 转换文件:

  • Web.Debug.config:此文件将包含转换以添加指向本地数据库的连接字符串。
  • Web.Release.config:此文件将包含转换以添加指向SQL Azure的连接字符串。
于 2012-09-21T11:03:30.107 回答