The type initializer for 'System.Data.Entity.Internal.AppConfig' threw an exception The type initializer for 'System.Data.Entity.Internal.AppConfig' threw an exception asp.net asp.net

The type initializer for 'System.Data.Entity.Internal.AppConfig' threw an exception


Do the following in the App.config file,

  1. Put the connectionStrings element is after the configSections element.
  2. Put the startup element after the connectionStrings element.
<?xml version="1.0" encoding="utf-8"?> <configuration>   <configSections>         <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />   </configSections>   <connectionStrings>         <add name="SchedulingContext" connectionString="Data Source=XXX\SQL2008R2DEV;Initial Catalog=YYY;Persist Security Info=True;User ID=sa;Password=XXX"   providerName="System.Data.SqlClient"/>   </connectionStrings>   <startup>        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />  </startup>        </configuration>


I needed to change by defaultConnectionFactory to be SqlConnectionFactory instead of the default

<entityFramework>  <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">    <parameters>      <parameter value="<My Connection String>" />    </parameters>  </defaultConnectionFactory></entityFramework>

http://blogs.msdn.com/b/davidobando/archive/2012/08/14/changing-ef-s-default-provider-from-localdb-to-sql-server.aspx


I Found that removing the references to Entity Framework and installing the latest version of Entity Framework from NuGet fixed the issue. It recreates all the required entries for you during install.