Entity framework低版本手动升级到EF6问题
今天新项目用打算用EF6,运行的时候报错“No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClient'. Make sure the provider is ”,刚开始以为是版本的问题(项目默认帮我用的是5.0的)。我把整个项目都更新了一遍还是不行。
于是开始百度。。没有答案。还是google吧。在一个国外的博客看到了解决方法。原来我们在用NuGet安装EF的时候,NuGet并没有帮我们彻底的更新,只是帮我们引用了下。
首先我们如果通过NuGet更新EF6的话,更新完成后,配置文件entityFramework节点应该会多出一句代码:
1 <entityFramework> 2 3 <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> 4 <parameters> 5 <parameter value="v11.0" /> 6 7 </parameters> 8 </defaultConnectionFactory> 9 <providers> 10 <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> 11 </providers> 12 </entityFramework>
红色字的就是多出的;
然后我们可以利用NuGet控制台 输入 PM> Install-Package EntityFramework 进行更新。

浙公网安备 33010602011771号