从Entity Framework获取错误(类型初始化程序异常)

时间:2016-06-09 14:16:36

标签: c# entity-framework

我得到了这个:

  

'System.Data.Entity.Internal.AppConfig'的类型初始值设定项引发了异常。

我的实体框架中的错误。

我读了这个Question和可能的答案,但是没有一个对我有效。这是我的App.config文件:

<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>

  <connectionStrings>
    <add name="SalesReportEntities" 
         connectionString="metadata=res://*/SalesReportModel.csdl
                         |res://*/SalesReportModel.ssdl
                         |res://*/SalesReportModel.msl;
                         provider=System.Data.SqlClient;
                         provider connection string=&quot;data source=.;
                                                    initial catalog=Training;
                                                    integrated security=True;
                                                    MultipleActiveResultSets=True;
                                                    App=EntityFramework&quot;" 
         providerName="System.Data.EntityClient" />
  </connectionStrings>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="v11.0" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework> 
</configuration>

还有哪些其他可能导致此错误?

1 个答案:

答案 0 :(得分:0)

我可以提供一些建议,其中一些与你已经看过的主题类似:

  1. 您是否可以使用SQL Management Studio并验证此数据库是否存在且具有表并且当前处于响应状态?
  2. 将&quot;之后的'connectionStrings'部分放在&lt;提供者&gt;节点
  3. 您的参数值是'v11.0',它似乎是针对SQL Server 2012的一个版本。我现在看到的类似于您的,但只是声明:“mssqllocaldb”。我认为这只是您指定的连接的sql server的默认实例。
  4. 完全卸载Entity Framework并从NuGet再次获取。我假设您使用的是Visual Studio,所以在2015年它是工具&gt; NuGet包管理器&gt;管理NuGet包。卸载,检查您的应用配置和'参考''实体框架'已消失。重新安装并再次检查您的设置。
  5. 您是否尝试引用该实体所在的另一个项目或是自包含的项目?如果是这样,您需要像在源项目中那样定位EF,并将EF添加到该项目并使用相同的配置。
  6. 您可能还想发布整个例外以获得更好的答案。