Usuario
Herencia con Entity Framework

Pregunta
-
Hola a todos.
Estoy empezando con POO y Entity Framework, he leído mucho en este y otros foros pero no acabo de aclararme. Mi modelo tiene una clase base Persona y otras clases derivadas de esta, como por ejemplo, Socio y Voluntario. He implementado la herencia por tipo, o sea, en la bbdd tengo una tabla Personas, una tabla Socios y otra tabla Voluntarios. Mi problema surge porque las clases derivadas no son excluyentes, es decir, una persona puede ser Socio y Voluntario. En este caso, al crear el objeto Socio y el Voluntario, se duplica la Persona. ¿Que estoy planteando mal? ¿Tengo que olvidarme de la herencia y plantearlo como una relación 1 a 1?
Todas las respuestas
-
-
hola
pero podrias hacer que una clase derive de otra
public class Persona{
}
public class Voluntario : Persona{
}
public class Socio : Voluntario{
}
por supuesto un socio tambine es voluntario, de esta forma segun a que nivel de la herencia llegues podras tener que es solo voluntario o voluntario y socio
la unica macana es que no podra ser solo socio
¿Tengo que olvidarme de la herencia y plantearlo como una relación 1 a 1?
depende, quizas estas forzando una herencia que no existe
aqui pareciera que hay herencia, pero quizas debas crear un tercer tipo que refleje cuando es voluntario y socio al mismo tiempo
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina -
Muchas gracias por tu rápida respuesta , Leandro.
La solución que propones derivando voluntario de socio creo que no me sirve, puesto que una persona puede ser socio solo, voluntario solo , o ser socio y voluntario a la vez.
Probablemente estaba forzando la herencia, voy a cambiarla en el modelo por una asociación 1-1.
Gracias.