2011-03-03 12 views
6

Tengo dos tablas en mi base de datos:Entity Framework: mesa de mezclar según el tipo y la tabla por jerarquía

  • BaseEntity
  • Fondo

La entidad "Fondo" hereda de "BaseEtity" con "tabla por tipo".

En mi modelo de negocio que tengo diferentes tipos de "Fondo":

  • Head-Fondo
  • directo de fondos de inversión
  • etc.

me gustaría tener diferentes entidades para esos tipos con "tabla por jerarquía", lo que significa que todavía solo tengo una tabla de "Fondo" con una columna de discriminación de tipo.

¿Hay alguna forma de tener "tabla por jerarquía" en una entidad que deriva de una clase base con "tabla por tipo"?

Respuesta

4

Sí, es posible - He tenido este trabajo en EF4 desde hace algún tiempo.

Define EntityA and map to TableA 

Define EntityB: EntityA and map to TableB 

Define EntityC: EntityA and map to TableC 

Define EntityD: EntityC and map to TableC 
    with condition on a column from table C 

Define EntityE: EntityC and map to TableC 
    with a different condition on a column from table C 
+0

¿Está usando código primero para eso? Estoy trabajando con modelo primero y el diseñador de EF. – SolarX

+0

Base de datos primero y diseñador. –

+0

@SolarX, si realmente estuvieras utilizando el modelo primero y no la base de datos primero, EF crearía una secuencia de comandos SQL que crea tablas según la convención de asignación de tablas por tipo. Creo que en realidad también está usando la base de datos (mapeando tablas existentes, no creando nuevas tablas desde edmx), luego remodelando el modelo inicial de la manera que desea que funcione. –

Cuestiones relacionadas