实体框架错误:找不到具有不变名称';的ADO.NET提供程序的实体框架提供程序;System.Data.SqlCl
本文关键字:实体 程序 框架 SqlCl ADO NET Data System 找不到 错误 | 更新日期: 2023-09-27 17:58:42
我有以下MVC项目结构:
BLL
DAL-
CommonClasses
Web
我使用的是实体框架6.0.2。该web项目引用了BLL和CommonClasses项目。BLL引用了DAL和CommonClasses。BLL和DAL也参考了通过Nuget添加的EF 6.0.2。每当我的代码试图用实体框架做任何事情时,我都会收到以下错误:
找不到具有固定名称"System.Data.SqlClient"的ADO.NET提供程序的实体框架提供程序。请确保该提供程序已在应用程序配置文件的"entityFramework"部分中注册。
我对正在发生的事情有点不知所措。我已经检查过,在DAL和BLL项目中有对EntityFramework.SqlServer的引用。所有项目都有对System.Data.的引用
DAL和BLL项目中的app.config文件都有以下行:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
确保EntityFramework.SqlServer.dll
在Web1
的应用程序目录中(即在bin
文件夹中)。如果顶级可执行文件/站点不直接依赖于此文件,则它并不总是被复制。
请在这里查看我的SO答案,它引用了一个非常有用的博客。我必须做几个步骤来复制和加载DLL。
错误:找不到具有固定名称';的ADO.NET提供程序的实体框架提供程序;System.Data.SqlClient';