我目前的设置:
VS1013溶液
我在'MvcProject'中添加了对'EntitiesProjectIO'的引用,并调用了'GetData(...)'。
指定的架构无效。错误:\ r \ nSurgeryManagementEntities.ssdl(2,2):错误0152:找不到具有不变名称“System.Data.SqlClient”的ADO.NET提供程序的实体框架提供程序。确保提供程序已在应用程序配置文件的“entityFramework”部分中注册。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=260882。
是我收到的消息,我现在知道***正在发生什么。 我已经添加了几乎每个已知程序集的引用,从仅DB项目(EntitiesProject)复制文件。 还复制了EntityFramework.dll,尝试了NuGet用于引用DB-Library的prject ...编辑了web.config,App.config,whatever.config。仍然是同样的错误
更新
这是VS2013内创建的全新项目/解决方案。因此,我没有升级问题或其他问题。只是一个干净的新解决方案...
答案 0 :(得分:3)
您的前端配置文件必须具有如下注册的提供程序:
<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>
在您添加Entity Framework 6到nuget之后应该已经修改了应用程序配置(它应该还添加了对程序集EntityFramework.dll和EntityFramework.SqlServer.dll的引用), 您可以通过在程序包管理器控制台中发出“Install-Package EntityFramework -Version 6.0.0”来实现。 (请注意有更新的版本,请参阅https://www.nuget.org/packages/EntityFramework)。
之后,您只需要重建解决方案(这样app app就会被复制到项目的输出文件夹中,EDMX设计师会在那里寻找它。)
您的项目还需要以.NET 4或.NET 4.5为目标,以使用EF6。