我在解决方案中有2个项目,一个是asp.net 5,另一个是包含EFModel的类库项目。我用install-package安装: " EntityFramework":" 6.1.3", " EntityFramework.SqlServerCompact":" 6.1.3" 在两个项目上都有classlibrary \ app.config和wwwroot \ web.config中的连接字符串我搜索了互联网上的一些说放置:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework">
<parameters>
<parameter value="System.Data.SqlServerCe.4.0" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="System.Data.SqlServerCe.4.0" type="System.Data.Entity.SqlServerCompact.SqlCeProviderServices, EntityFramework.SqlServerCompact" />
</providers>
</entityFramework>
&#13;
web.config中的
解决了这个问题,我在app.config中有这个部分,当我尝试将它放在web.config文件中时,我得到angularjs注入错误。我的实体框架代码让我得到错误: &#34;指定的架构无效。错误:错误0152:找不到具有不变名称&#39; System.Data.SqlClient&#39;的ADO.NET提供程序的实体框架提供程序。确保 ... 我无法解决这个问题,请帮忙。
答案 0 :(得分:9)
我解决了我的问题如下: 虽然我为解决方案中的每个项目使用Nuget添加了 EntityFramework 和 EntityFramework.SqlServerCompact ,但我的project.json说: “EntityFramework”:“6.1.3”,“EntityFramework.SqlServerCompact”:“6.1.3”, 但我注意到Visual Studio在引用 ClassLibrary 项目中的所有包时做了一件令人讨厌的工作,所以我将所有程序集从classlibrary项目的bin复制到MainProject bin并通过浏览添加对所有这些程序包的引用,最后将所需的自动生成配置从ClassLibrary的app.config复制到MainProject的web.config和Problem Solved。
答案 1 :(得分:0)
通常由于Entityframework会发生此错误。 遵循以下
entityframeworkcore from the NuGet,
entityframeworkdesign.
entityframework.sqlserver.compact
最后给出解决方案的重建 上面的方法对我有用,因为我也发现了这个问题。