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 进行更新。

posted @ 2014-01-20 19:06  KuBiCoder  阅读(1176)  评论(0)    收藏  举报