Estamos utilizando Entity Framework, Code First y en nuestra base de datos tenemos varias tablas que tienen el mismo nombre pero en diferentes esquemas.Código EF primero, ¿cómo registrar el mismo nombre de tabla con un esquema diferente?
También puse los modelos en dos espacios de nombres diferentes.
¿Cómo puedo registrar estas tablas en mi clase DbContext?
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Data.Schema1.Contact>().ToTable("Contact", "schema1");
modelBuilder.Entity<Data.Schema2.Contact>().ToTable("Contact", "schema2");
}
¡Gracias por su ayuda con anticipación!
El problema es que si pongo las clases en dos clases de contexto diferentes, ya no puedo unir las dos tablas ... ¿Hay alguna forma de evitar eso? Context.Contacts.Include ("Contacts2"); Donde Contact2 es de un Contexto diferente. – sam360
No, no puede hacer consultas de contexto cruzadas. Entonces, la única opción para usted es usar diferentes nombres para sus clases; también hará que su código sea mucho más legible cuando tenga que trabajar con ambos tipos en los mismos métodos. –
Si utilizo un nombre de clase diferente e incluyo los dos en el mismo contexto, EF me da un error: – sam360