指定的Asp.Net 5" Schema无效。错误:错误0152:找不到ADO.NET的实体框架提供程序

时间:2015-10-28 19:08:26

标签: asp.net .net angularjs entity-framework

我在解决方案中有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;
&#13;
&#13;

web.config中的

解决了这个问题,我在app.config中有这个部分,当我尝试将它放在web.config文件中时,我得到angularjs注入错误。我的实体框架代码让我得到错误: &#34;指定的架构无效。错误:错误0152:找不到具有不变名称&#39; System.Data.SqlClient&#39;的ADO.NET提供程序的实体框架提供程序。确保 ... 我无法解决这个问题,请帮忙。

2 个答案:

答案 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会发生此错误。 遵循以下

  1. 添加entityframeworkcore from the NuGet,
  2. 添加entityframeworkdesign.
  3. 添加entityframework.sqlserver.compact

最后给出解决方案的重建 上面的方法对我有用,因为我也发现了这个问题。