实体框架错误:找不到具有不变名称';的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>

实体框架错误:找不到具有不变名称';的ADO.NET提供程序的实体框架提供程序;System.Data.SqlCl

确保EntityFramework.SqlServer.dllWeb1的应用程序目录中(即在bin文件夹中)。如果顶级可执行文件/站点不直接依赖于此文件,则它并不总是被复制。

请在这里查看我的SO答案,它引用了一个非常有用的博客。我必须做几个步骤来复制和加载DLL。

错误:找不到具有固定名称';的ADO.NET提供程序的实体框架提供程序;System.Data.SqlClient';

相关文章: