【问题标题】:Entity Framework changed to SQL Server Express, how do I change it back to Localdb实体框架更改为 SQL Server Express,如何将其更改回 Localdb
【发布时间】:2012-08-28 04:49:10
【问题描述】:

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

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

System.Data.ProviderIncompatibleException:发生错误时 从数据库中获取提供者信息。这可能是由于 实体框架使用了不正确的连接字符串。检查内部 有关详细信息的例外情况,并确保连接字符串是 正确的。 ---> System.Data.ProviderIncompatibleException: 提供者 没有返回 ProviderManifestToken 字符串。 ---> System.Data.SqlClient.SqlException:网络相关或 建立连接时发生特定于实例的错误 SQL 服务器。服务器未找到或无法访问。核实 实例名称正确且 SQL Server 配置为 允许远程连接。 (提供者:SQL 网络接口,错误:26 - 错误定位指定的服务器/实例)

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

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

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

【问题讨论】:

  • LocalDB 是 SQL Express 的特殊版本。
  • @LadislavMrnka 是的,但是数据库是在我的 SQL Express 实例中创建的,而不是在我的 Localdb 实例中。

标签: entity-framework ef-code-first localdb


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多