当我在本地运行项目时,一切都运行良好,但是当我部署到Azure时,我收到以下错误。
"如果在Code First模式下使用,使用T4模板为Database First和Model First开发生成的代码可能无法正常工作。要继续使用Database First或Model First,请确保在执行应用程序的配置文件中指定了Entity Framework连接字符串。要使用从Database First或Model First生成的这些类,使用Code First添加任何其他配置,使用属性或DbModelBuilder API,然后删除引发此异常的代码。"
我的连接字符串是:
add name="LifeEntities" connectionString="Server=tcp:abc000000ab.database.windows.net,1433;Database=Life;User ID=myid@abc000000ab;Password=mypw;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;" providerName="System.Data.SqlClient"
当我的代码尝试打开实体框架数据库的上下文时,我收到此错误。请注意,我使用的是一个非常基本的MVC项目模板,它也可以使用ASP.NET身份。
我已经读过这是因为代码优先于数据但不确定如何解决此问题。
答案 0 :(得分:1)
这是一个纯SQL连接字符串。您需要使用EF连接字符串,包括模型元数据等。
以下是一个例子:
<add name="Context" connectionString="metadata=res://*/Context.csdl|res://*/Context.ssdl|res://*/Context.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=Context;integrated security=True;MultipleActiveResultSets=True;"" providerName="System.Data.EntityClient" />