Array
(
)

Dois Entity Data Models no Site

Eamendes
   - 16 out 2014

Boa noite colegas!
Estou desenvolvendo um site e me deparei com o seguinte problema: O banco principal do site é SQLServer e o EDM dele foi criado sem problemas, mas eu tenho que conectar em um banco de dados Firebird do cliente para obter algumas informações. Eu Consigo criar o EDM dele normalmente, mas no momento de executar, mesmo quando não está acessando nenhuma página que acessa o Firebird eu recebo o seguinte erro:
Erro de Servidor no Aplicativo '/'.
O esquema especificado não é válido. Erros:
App_Code.Model.ssdl(2,56) : erro 0172: Todos os artefatos SSDL devem ter como destino o mesmo provedor. O Provider 'FirebirdSql.Data.FirebirdClient' é diferente de 'FirebirdSql.Data.FirebirdClient' encontrado anteriormente.
App_Code.Model.ssdl(2,89) : erro 0169: Todos os artefatos SSDL devem ter como destino o mesmo provedor. O ProviderManifestToken '2008' é diferente de '2.5' encontrado anteriormente.
Em minhas pesquisas eu vi que não se pode ter dois EDM no site, mas nesse caso, como devo trabalhar?
Grato
Edson

Eamendes
   - 29 out 2014

Olá Amigos!

Depois de muito apanhar e de consultar infinitas páginas no Google, consegui achar a solução. O problema estava na String de Conexão do EF.

No meu caso ela estava assim:

"metadata=res://*/
Eu substitui por: "metadata=res://*/App_code.Model.csdl|App_code.Model.ssdl|App_code.Model.msl..."

onde App_Code é a pasta onde está o arquivo EDMX do seu projeto.

Recomendo que você reinicie sua máquina após a alteração no WEB.Config pois para mim só funcionou após fazer isso.

Espero que ajude aos colegas com o mesmo problema.