【发布时间】:2013-04-01 09:10:37
【问题描述】:
我已经完成了在 Azure 门户上首先使用数据库发布我的 Web 应用程序的步骤。
但是,当我发布时,我收到以下错误消息:
使用 Database First 和 Model 的 T4 模板生成的代码 如果在 Code First 模式下使用,首次开发可能无法正常工作。 要继续使用数据库优先或模型优先,请确保实体 框架连接字符串在配置文件中指定 执行应用程序。要使用这些类,它们是从生成的 数据库优先或模型优先,使用代码优先添加任何额外的 使用属性或 DbModelBuilder API 进行配置,然后 删除引发此异常的代码。
web.config中我的连接字符串被发布修改后:
<add name="MySiteEntities" connectionString="metadata=res://*/MySite.csdl|res://*/MySite.ssdl|res://*/MySite.msl;provider=System.Data.SqlClient;provider connection string="data source=tcp:**********.database.windows.net,****;initial catalog=MySite;user id=username@**********;password=*******;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
我的上下文(由 edmx 生成):
public partial class MySiteEntities : DbContext
{
public MySiteEntities()
: base("name=MySiteEntities")
{
}
...
我很困惑,因为似乎实体框架试图首先使用代码而不是数据库。
更新: 我刚刚尝试在本地使用相同的连接字符串,并且 Web 应用程序似乎运行良好。 Web 应用程序确实可以很好地连接到远程数据库。只有当我发布到天蓝色时它才会失败。
【问题讨论】:
标签: c# asp.net-mvc entity-framework azure publish