使用 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 包。