' System.Data.Entity.Core.ProviderIncompatibleException'在EntityFramework中

时间:2014-04-23 12:37:17

标签: entity-framework

我有一个使用EF 6.0.2的项目,但现在我在EF 6.1中遇到错误:

EntityFramework.dll中发生了'System.Data.Entity.Core.ProviderIncompatibleException'类型的异常,但未在用户代码中处理

其他信息:访问数据库时出错。这通常意味着与数据库的连接失败。检查连接字符串是否正确,以及是否使用了相应的DbContext构造函数来指定它或在应用程序的配置文件中找到它。有关DbContext和连接的信息,请参阅http://go.microsoft.com/fwlink/?LinkId=386386。有关失败的详细信息,请参阅内部异常。

提供商未返回ProviderManifestToken字符串。

{“无法确定'System.Data.SqlClient.SqlClientFactory'类型的提供者工厂的提供者名称。确保在应用程序配置中安装或注册了ADO.NET提供程序。”}

知道可能出错的是什么?我不确定在哪里看。

我的DBContext如下:

public class Context : DbContext {

  public Context()
    : base() {

    Configuration.With(x => {
      x.LazyLoadingEnabled = false;
    });

  }  // Context

  public DbSet<User> Users { get; set; }

  protected override void OnModelCreating(DbModelBuilder builder) {
    builder.Configurations.With(x => { x.Add(new UserMapper()) });
  }

}

在我的网站上。我有以下内容:

<add name="Context" providerName="System.Data.SqlClient" connectionString="Server=.\SQLEXPRESS;Database=MYDB;Trusted_Connection=true;" />

我正在使用StructureMap在存储库中注入Context:

For<DbContext>().HybridHttpOrThreadLocalScoped().Use(() => new Context());
For<IRepository>().Transient().Use<Repository>();

谢谢你, 米格尔

2 个答案:

答案 0 :(得分:2)

你正在使用Glimpse吗?

我认为这个问题将在EF 6.1.1中修复:https://entityframework.codeplex.com/workitem/2138

答案 1 :(得分:1)

我遇到了同样的问题,但奇怪的是在我的情况下,我有一个第三个内部异常抱怨它无法连接到我的SQL实例。

重新启动SQL服务解决了这个问题。