0

我有一个在 VS2012 中首先使用 EF 5 代码的 MVC 4 应用程序。我在另一台笔记本电脑上创建了这个应用程序,我也激活了迁移但再次禁用它(通过删除迁移文件夹并删除 de DB 中的表)。现在我将整个解决方案复制到我的第二台笔记本电脑上,但我无法再运行该应用程序了。

尝试访问数据库时总是出现异常。

提供者没有返回 providermanifesttoken 字符串

有一个内部例外

{“建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。未找到或无法访问服务器。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供程序:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)“}

我使用以下连接字符串

<connectionStrings>
    <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(localdb)\v11.0; Integrated Security=True; MultipleActiveResultSets=True" />
  </connectionStrings>

当我把它放在我的 global.asax 中时,它确实有效。

Database.DefaultConnectionFactory = new SqlConnectionFactory(@"Data Source=(localdb)\v11.0; Integrated Security=True; MultipleActiveResultSets=True");

所以简而言之,在我创建项目的笔记本电脑上,一切都适用于 web.config 中的连接字符串,但在我的另一台电脑上,它只适用于 de global.asax

有人有解决这个烦人问题的方法吗?

4

1 回答 1

0

我终于找到了解决问题的方法。好像我错过了配置中的某些内容。我仍然不明白为什么它可以在我的另一台机器上运行,但对于有同样问题的你们,请尝试以下操作。

我的配置中有以下内容。

  <entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />

在我在stackoverflow上找到这篇文章后,我用这个片段替换了它

<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
  <parameters>
    <parameter value="Data Source=(localdb)\v11.0; Integrated Security=True; MultipleActiveResultSets=True" />
  </parameters>
</defaultConnectionFactory>

于 2013-02-06T19:21:02.473 回答