我已经完成了首先在 azure 门户上使用数据库发布我的 Web 应用程序的步骤。
但是,当我发布时,我收到此错误消息:
如果在 Code First 模式下使用,使用用于 Database First 和 Model First 开发的 T4 模板生成的代码可能无法正常工作。要继续使用 Database First 或 Model First,请确保在执行应用程序的配置文件中指定了实体框架连接字符串。要使用从 Database First 或 Model First 生成的这些类,使用 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 应用程序确实可以很好地连接到远程数据库。只有当我发布到天蓝色时它才会失败。