我在MVC 4项目中遇到了connectionString的问题。
项目的结构如下:
Solution
-MVC4-web app project
-Custom DBContext project
-Portable Area project (MvcContrib)
我正在使用在线Azure数据库进行存储,我的所有模型都在自定义数据库上下文中。该项目编译了find,我甚至让MvcContrib与MVC4和Razor视图引擎一起工作。
在Azure上创建新数据库后,我尝试在DBContext项目上运行update-database。我收到以下错误:
“...从数据库获取提供程序信息时发生错误。这可能是由实体框架使用不正确的连接字符串引起的....提供程序:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错......“
我的connectionString位于DbContext项目的App.Config文件中:
<connectionStrings>
<add name="CortexModelContext" providerName="System.Data.SqlClient" connectionString="Server=tcp:k5bqinuyr5.database.windows.net,1433;Database=databaseName;User ID=myname@k5bqinuyr5;Password=MySecretPassword;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;" />
</connectionStrings>
我做错了什么?我有duodecuple检查密码和连接字符串。它是来自windowsazure.com门户网站的复制粘贴。还有什么可能是错的?我觉得我已经尝试了一切来解决这个问题。
如果此帖中缺少其他信息,请告诉我,我会提供。
答案 0 :(得分:3)
当您在单独的项目中拥有上下文时,Update-Database命令无法正常工作。大概你在MVC 4项目的web.config文件中也有你的连接字符串吗?
如果是,请使用以下命令:
Update-Database -ProjectName <DbContextProject> -StartupProjectName <MvcProject>
用相关项目的名称替换占位符。那应该可以胜任。
干杯, 迪安
答案 1 :(得分:0)
这里的问题是我的所有项目中都没有连接字符串。当我添加连接字符串时,当前只在我的DbContext项目的App.config中,到启动项目的web.config
一切正常。
好事我没有花一整天的时间来弄明白这一点。或者其他什么。