0

使用 NuGet 包管理器从实体框架(代码优先)5 到 6 更新我的 MVC4 应用程序(.NET 4.0)后,在应用程序启动时出现以下错误:

  • 找不到具有不变名称“System.Data.OleDb”的 ADO.NET 提供程序的实体框架提供程序。

但是在 web.config 中,我只注册了 SqlClient Provider:

<connectionStrings>
<add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=.\SQLEXPRESS;Database=db1;Trusted_Connection=True;Integrated Security=True;MultipleActiveResultSets=True" />
</connectionStrings>
<entityFramework>
 <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
<parameters>
<parameter value="Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True" />
</parameters>
</defaultConnectionFactory>
<providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
 </providers></entityFramework>

为什么 OleDB 提供程序出现错误?

注意:我在解决方案中遇到了这个问题,mvc 项目通过第二个项目(库)访问数据库。两个项目都安装了 EF 包。

4

1 回答 1

0

I deinstalled Nuget-Packages, which used EF5: Miniprofiler, Glimpse EF5. The error disappeared.

于 2013-11-22T10:01:54.980 回答