c# - que - mvc entity framework español
Derivado de las clases generadas por Entity Framework en C# (2)
No es compatible. No puede derivar un nuevo tipo de entidad y usarlo en lugar del tipo de entidad asignada para la persistencia. Si desea tener una clase derivada de una entidad, debe usar la herencia asignada donde cada hijo también se asigna a la base de datos.
Creé un modelo de datos de entidad y generé una base de datos a partir de él.
Una de las entidades se llama Template
.
Se crearon clases parciales para ampliar la funcionalidad de la Template
.
Si creo una nueva clase e intento derivarme de la Template
, recibo una excepción de tiempo de ejecución al crear instancias:
Mapping and metadata information could not be found for EntityType ''Template001''
.
¿Cómo puedo solucionar esto? Definitivamente necesito heredar de las clases de EF.
EDITAR
No parece posible. Si ese es el caso, ¿cuál sería la mejor manera de implementar el siguiente requisito: la entidad de plantilla almacena información sobre las plantillas que cada uno tiene su propio código para ejecutar. Es por eso que estaba intentando derivar de la entidad en primer lugar.
¿Por qué necesitas heredar de la clase de entidad antes que nada? Si desea agregar un comportamiento simple, use una clase parcial.
Actualización: según los comentarios, parece que existe la posibilidad de que el comportamiento se prolongue a lo largo del tiempo. En este caso, recomendaría usar composición / agregación, no herencia. Deje que las clases que necesitan extenderse tengan una entidad como campo. En el escenario de Raheel, sería una clase llamada TemplateLogic con campo / propiedad de tipo Template.