2016-06-09 48 views
0

错误我正在此:充分利用实体框架(类型初始化除外)

为的类型初始值‘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> 

其他可能的事情会导致此错误?

回答

0

我可以提供一些建议,有些类似于你已经看了螺纹:

  1. 可以使用SQL Management Studio并验证该数据库存在,并且有表和当前处于敏感状态?
  2. 将您的'connectionStrings'部分放在< providers>节点之后。
  3. 您的参数值是'v11.0',它似乎是针对SQL Server 2012的一个版本。我现在看到的是类似于您的,但只是声明:“mssqllocaldb”。我相信这只是你指定连接的sql server的默认实例。
  4. 完全卸载Entity Framework并从NuGet中重新获得它。我假设你在2015年使用Visual Studio,因此它是Tools> NuGet Package Manager> Manage NuGet Packages。卸载,检查你的应用程序配置和'参考','EntityFramework'消失了。重新安装并再次检查您的设置。
  5. 您是否试图引用实体在另一个项目中存在的项目还是自包含的项目?如果是这样,你需要定位EF,就像你在源项目上添加EF到该项目和一个配置一样。

您可能还想发布整个异常以获得更好的答案。

+1

其实你是对的!这个问题与你提到的第四个问题有关(我的意思是在我的情况下)。我卸载并重新安装,并且我意识到我没有在第一个中正确管理我的实体框架。再次,非常感谢! –

+0

没有问题,与EF6祝你好运。它与Linq结合使用非常有用,并且了解它如何工作只是战斗的一半。 – djangojazz