4

我正在使用 EF 代码优先(.NET 4.5 + VS2012)。我的项目正在正确创建和使用 LocalDB。我的机器(2008R2)上也安装了 SQL Server Express。我没有更改任何配置,但它切换到使用 SQL Server Express。

我现在已经停止了我的 SQL Server 实例,每当我尝试使用重建数据库时,都会Update-Database收到以下消息:

System.Data.ProviderIncompatibleException:从数据库获取提供者信息时出错。这可能是由 Entity Framework 使用不正确的连接字符串引起的。检查内部异常以获取详细信息并确保连接字符串正确。---> System.Data.ProviderIncompatibleException:提供程序未返回 ProviderManifestToken 字符串。---> System.Data.SqlClient.SqlException:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)

我的配置文件具有以下 EF 配置:

<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
  <parameters>
    <parameter value="v11.0" />
  </parameters>
</defaultConnectionFactory>

有什么建议吗?我更喜欢使用 Localdb 而不是 SQL Server Express。

4

1 回答 1

4

结果是,出于某种原因,GUI app.config 引用了 SqlConnectionFactory 而不是 LocalDbConnectionFactory。解决这个问题就解决了。

于 2012-09-05T12:18:10.377 回答