我刚刚将EF升级到6.1.3并且我收到错误:
No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClient'. Make sure the provider is registered in the 'entityFramework' section of the application config file. See http://go.microsoft.com/fwlink/?LinkId=260882 for more information.
版本6.1.2一切正常。
我通过Manage NuGet Packages for Solution
安装了EF,并直接使用PM控制台。
在我使用EF的项目中,我也引用了最新的EntityFramework.SqlServer.dll
。
EF在我的Model
项目中,app.config如下所示:
<entityFramework>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
</entityFramework>
MVC项目具有实际的连接字符串(在单独的文件中提供web.config),它们是:
<?xml version="1.0" encoding="utf-8" ?>
<connectionStrings>
<clear/>
<add name="Blank" connectionString="data source=myserver;initial catalog=mydb;user id=***;password=***;MultipleActiveResultSets=True;App=MyApp" providerName="System.Data.SqlClient" />
</connectionStrings>
我应该重新安装以前的版本吗?这个问题的解决方案是什么?
修改
问题是主要的MVC项目是从版本6.1.2引用EntityFramework.SqlServer.dll
。此引用已删除,现在引用了版本6.1.3中的DLL。该应用程序现在工作正常。
但是,如果在主项目中不需要这个DLL,还有其他方法可以引用它吗?