4
respostas

Execução de model First

Pessoal estou fazendo a conexão com o banco via model first porem na execução após abrir a home page e clico para abrir outra tela e trazer as informações contidas no banco através de uma lista ele me da o seguinte erro e não consigo descobrir de onde é:

TypeInitializationException was unhandled by use code

An exception of type 'System.TypeInitializationException' occurred in EntityFramework.dll but was not handled in user code

Additional information: O inicializador de tipo de 'System.Data.Entity.Internal.AppConfig' acionou uma exceção.

Alguém pode me ajudar?

4 respostas

Oi Juliano!

Dê uma olhada no seu connectionString. Está num formato válido? Geralmente o erro TypeInitializationException ocorre por causa de string de conexão inválida.

A connectionString foi gerada pelo próprio entityframework ao fazer a conexão com o banco pelo visual studio, e também pelo que eu já observei não me pareceu estar errado.

<connectionStrings>
    <add name="EstoqueVendasEntities" connectionString="metadata=res://*/Models.DataBaseModel.csdl|res://*/Models.DataBaseModel.ssdl|res://*/Models.DataBaseModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=JULIANO-PC\SQLEXPRESS;initial catalog=EstoqueVendas;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>

Juliano, verifique a versão do "entityFramework". Veja se está realmente como "6.0.0.0", como no exemplo abaixo:

<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, 

PublicKeyToken=b77a5c561934e089" requirePermission="false" />

Marcelo ao efetuar a verificação pude ver que a versão do entityFramework estava com a versão 5.0.0.0, e nas referencias também estava com a versão 5 do entityFramework que eu havia alterado após começar os problemas na execução. Deletei o entityframework com a versão 5 e referenciei a versão "6.1.3" que estava disponível no NuGet. Verifiquei no WebConfig e na tag section também mudou para a versão "6.0.0.0". Após a alteração testei e funcionou normalmente. Porem me surgiu uma pequena duvida: Tenho duas versões do visual studio instaladas, a 2013 Professional e 2015 Enterprise. Quando comecei o projeto esta utilizando a versão 2015 do visual studio onde começou a acontecer o problema e mesmo alterando a versão do entityFramework da 6.1.3 para a versão 5 não rodou. E agora abri o mesmo projeto no visual studio 2013 modifiquei a versão do entityFramework e rodou normalmente. Pode também de acordo com a versão do visual studio acontecer esse tipo de problema? Ou é apenas coisa da minha cabeça rs...?