1

我在 MVC 4 项目中的 connectionString 有问题。

该项目的结构如下:

Solution
   -MVC4-web app project
   -Custom DBContext project
   -Portable Area project (MvcContrib)

我正在使用在线 Azure 数据库进行存储,并且我的所有模型都在自定义数据库上下文中。该项目编译 find,我什至让 MvcContrib 与 MVC4 和 Razor 视图引擎一起工作。

在 Azure 上创建新数据库后,我尝试在 DBContext 项目上运行更新数据库。我收到以下错误:

“...从数据库获取提供程序信息时出错。这可能是由实体框架使用不正确的连接字符串引起的。...提供程序: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>

我究竟做错了什么?我已经对密码和连接字符串进行了双重检查。它是从 windowsazure.com 上的门户网站复制粘贴的。这里还有什么问题?我觉得我已经尝试了一切来解决这个问题。

如果这篇文章中缺少其他信息,请告诉我,我会提供。

4

2 回答 2

3

当您在单独的项目中拥有上下文时,Update-Database 命令往往无法正常工作。大概您的 MVC 4 项目的 web.config 文件中也有您的连接字符串?

如果是这样,请使用以下命令:

Update-Database -ProjectName <DbContextProject> -StartupProjectName <MvcProject>

用相关项目的名称替换占位符。那应该做的工作。

干杯,院长

于 2012-07-30T19:41:45.420 回答
0

这里的问题是我的所有项目中都没有连接字符串。当我将当前仅在我的 DbContext 项目的 App.config 中的连接字符串添加到web.config启动项目时,一切正常。

还好我没有用一整天的时间来解决这个问题,或者其他什么。

于 2012-07-30T20:35:41.553 回答