2011-05-01 26 views
8

Estoy utilizando Entity Framework 4 en un proyecto de MVC3. Estoy tratando de acceder a dos bases de datos diferentes (A y B):Uso de dos bases de datos diferentes al mismo tiempo con Entity Framework

  • Las bases de datos A y B son completamente diferentes y no están relacionadas.
  • La base de datos A es una base de datos compacta de SQL 'codifique primero'.
  • La base de datos B es una base de datos 'base de datos' de SQL Server.
  • Tengo consultas directas en cualquiera de las bases de datos, sin enlaces o uniones entre bases de datos.
  • Cualquiera de las conexiones a la base de datos funciona si elimino el otro DbContext del proyecto.

Ahora, cuando intento consultar desde la base de datos A, recibo una excepción "No se pudo encontrar el tipo de modelo conceptual para".

No me puedo imaginar que EF no permita el uso de diferentes bases de datos, entonces mi pregunta es: ¿tengo que hacer algo extra al crear una nueva instancia del DbContext apropiado, para que esto funcione?

+0

¿alguna vez encontró una solución para esto? estoy teniendo exactamente el mismo problema (excepto que tengo solo una base de datos A de la cual la mitad tiene un código edmx y la otra mitad es código) –

Respuesta

1

Asegúrese de no utilizar el mismo nombre de entidad para ambos archivos edmx. Puede cambiarlo manualmente abriendo un edmx con xml editor haciendo clic derecho en el archivo y open with.

Tenga en cuenta que, por razones de seguridad, no puede anidar los contextos. Solo pueden usarse separados.

+0

Oh, ese es un buen punto; sin embargo, mis entidades no tienen el mismo nombre o identificador. A propósito, solo tengo un archivo edmx para la base de datos "database-first". –

2

Me encontré con este hilo mientras trataba de resolver la excepción "No se pudo encontrar el tipo de modelo conceptual para".
Estoy usando EF 4.2 con varios modelos. Implementé DbContext con uno de mis modelos para "probarlo". Cuando compilé y corrí, recibí la excepción anterior para una entidad en un modelo completamente diferente en una base de datos completamente diferente.

Después de mucha molestia finalmente implementé DbContext a los otros dos modelos y todo funcionó bien.

Sé que esto no necesariamente responde la pregunta, pero quería dejar esto aquí para cualquier otra persona que tenga el mismo problema y tropiece con esta publicación.

+0

Esto funcionó para mí. ¡Gracias! –

Cuestiones relacionadas