Relaciones inversas uno a muchos de CoreData Padre Hijos utilizando una única entidad.
Tengo un problema en cómo modelar adecuadamente en CoreData a una persona con su relación con los hijos con inversión utilizando una única entidad para modelar.
Quiero modelar una familia, así que he creado una entidad Persona para cada miembro. Una Persona puede tener padres, un padre y una madre, para esto he creado una relación de uno a uno. Una Persona puede tener hijos, lo cual es un conjunto de una relación de uno a muchos.
Tengo un problema al configurar la inversión en el modelo de CoreData ya que es necesario para las relaciones. El problema es que cuando configuro el atributo padre/madre de la entidad Persona a niños, solo puedo configurarlo para uno de ellos, no para ambos, padre y madre. ¿Tienes alguna solución de cómo modelar esto adecuadamente?
Imagen 1: enlace a imagen
Imagen 2: enlace a imagen
davy.ai
Para modelar correctamente este escenario en CoreData, puedes crear otra entidad llamada
Family
que tendría una relaciónuno a muchos
conPerson
. La entidadPerson
luego tendría una relaciónuno a muchos
conFamily
, lo que indica que una persona puede ser miembro de múltiples familias (si es necesario).En la entidad
Family
, puedes tener atributos para elpadre
ymadre
. De esta manera, tanto elpadre
como lamadre
pueden asignarse a la misma entidadPerson
como sus hijos, y su relación puede rastrearse correctamente a través de la entidadFamily
.El modelo se vería algo así:
Con este modelo, puedes llenar la relación
hijos
desde la entidadFamily
, y rastrear tanto alpadre
como a lamadre
de cada hijo a través de los atributos en la entidadFamily
. Esto permite un seguimiento adecuado de las relaciones sin violar las restricciones del modelo de CoreData.