Estoy tratando de comprender las asignaciones de herencia en EF4.Entity Framework 4 - Herencia
Mi base de datos tiene dos tablas con la siguiente estructura:
PersonCategory Tabla:
- CategoryID (int) (identidad) (PK)
- CategoryType (nvarchar (50))
Persona Tabla
- PersonaID (int) (identidad) (PK)
- CategoryID (FK de la tabla PersonCategory)
- Nombre (nvarchar (50))
- Descripción (nvarchar (max))
La tabla PersonCategory tiene cuatro entradas, cada una de las cuales representa una categoría: Estudiante, Instructor de curso, Personal y Asesor.
De la lectura articles en línea pensé que tabla por jerarquía será un modelo adecuado para este escenario. Entonces, en EF4, creé cuatro entidades (Estudiante, CourseInstructor, Staff y Advisor) heredadas de la tabla Person. Luego correlacioné cada uno de ellos con la tabla Person y agregué una condición a cada uno (por ejemplo, CategoryID = 1 para la entidad Student y CategoryID = 2 para la entidad Staff) para diferenciarlos de los demás. También eliminé la propiedad CategoryID de la tabla Person y la convertí en clase abstracta. Pero recibo el siguiente error porque eliminé la propiedad CategoryId de la tabla Person.
Error 3015: Problema en fragmentos de mapeo a partir de las líneas 101, 108, 114, 120, 126, 133: Foreign restricción de clave '' FK_Person_PersonCategory de persona mesa (CategoryID) a tabla PersonCategory (CategoryID) :: mapeo insuficiente : La clave externa debe asignarse a algunos AssociationSet o EntitySets que participan en una asociación de clave externa en el lado conceptual.
¿Es Table On Hierarchy un modelo adecuado para este escenario? Si no, ¿cómo debería abordar este escenario en EF4?
Gracias por el puntero. Entiendo el punto explicado. ¿Debo interpretar esto porque EF4 no puede manejar esta situación? Porque en el modelo de entidad de mi aplicación quiero que ambas tablas estén presentes con una asociación. ¿Cómo me acercaría a este escenario? – muruge