实体框架分析器 - 带有EF 6的ASP.NET MVC4 - 无法确定提供者名称

时间:2013-11-11 09:36:49

标签: c# asp.net-mvc-4 profiler entity-framework-6

我在ASP.NET MVC4项目中使用EF 6已经有一段时间没有任何问题了。

当我向项目添加Entity Framework Profiler时出现问题,然后我突然收到以下错误:“无法确定类型为'System.Data.SqlClient.SqlClientFactory'的提供程序工厂的提供程序名称。确保ADO.NET提供程序已在应用程序配置中安装或注册。“

我尝试了一些建议,包括bin文件夹中没有“EntityFramework.SqlServer.dll”的问题。

堆栈追踪:

System.Data.Entity.Config.DefaultInvariantNameResolver.GetService(Type type, Object key) +440
System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory) +83
System.Data.Entity.Config.CachingDependencyResolver.GetService(Type type, Object key) +179
System.Linq.WhereSelectArrayIterator`2.MoveNext() +82
System.Linq.Enumerable.FirstOrDefault(IEnumerable`1 source, Func`2 predicate) +215
System.Linq.WhereSelectArrayIterator`2.MoveNext() +82
System.Linq.Enumerable.FirstOrDefault(IEnumerable`1 source, Func`2 predicate) +215
System.Data.Entity.Config.CompositeResolver`2.GetService(Type type, Object key) +71
System.Data.Entity.Config.IDbDependencyResolverExtensions.GetService(IDbDependencyResolver resolver, Object key) +84
System.Data.Entity.Internal.InternalConnection.get_ProviderName() +112
System.Data.Entity.Internal.DefaultModelCacheKeyFactory.Create(DbContext context) +120
System.Data.Entity.Internal.LazyInternalContext.InitializeContext() +319
System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) +26
System.Data.Entity.Internal.Linq.InternalSet`1.Initialize() +72
System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext() +21
System.Data.Entity.Internal.Linq.InternalSet`1.Find(Object[] keyValues) +40

的Web.config:

  <entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
  <parameters>
    <parameter value="v11.0" />
  </parameters>
</defaultConnectionFactory>
<providers>
  <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>

连接细节:

<add name="MyProject" connectionString="Server=.\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI;" providerName="System.Data.SqlClient" />

任何想法导致了什么?

注意:

  • 我正在使用ninject来处理依赖注入
  • 我最近升级到EF 6.0.1

2 个答案:

答案 0 :(得分:9)

就像小费一样。如果您将Glimpse ef6安装到项目中,也会抛出此错误。

我安装Glimpse EF6后很快就出现了这个错误。卸载Glimpse EF6解决了这个问题。

答案 1 :(得分:4)

这是由Entity框架分析器中的错误引起的,并且已在构建2214中修复(请参阅:http://hibernatingrhinos.com/builds/uber-prof-v2/2214