ios objective-c swift core-data relationships

ios - Comprender las reglas de eliminación de datos principales en Uno a muchos



objective-c swift (1)

Estoy un poco confuso sobre las reglas de eliminación de las relaciones de datos centrales. Entonces, si alguien puede ayudarme a responder algunas preguntas sobre ellos.

Tengo las entidades A y B. A tiene una relación de muchos a B, y B tiene una relación uno a uno con A.

A <--- >> B

Ahora, si configuro la regla de eliminación en A a Cascade, entiendo que eliminará todas las Bs relacionadas con ella. Pero si lo configuro para anular, ¿establecerá las Bs en NIL o solo la clave externa en Nil?

Y busqué en todas partes sobre la relación de B a A, ¿debería establecerlo en Anular? ¿Eso solo Nullate el "Objeto B" en A? ¿O anulará todas las B asociadas con A? ¿Qué hay de Cascade? ¿Eliminará todas las B asociadas con A, o solo B en particular?

¿O simplemente uso "No acción" en la relación de B a A para que cuando elimine B, no ocurra ningún cambio en A, pero la referencia a B no existirá?

Estoy muy confundido con estos, así que disculpe mis preguntas.

Gracias.


Si configura la regla de eliminación para "anular" y elimina el objeto A, entonces las referencias a ese objeto en las B se eliminarán. Lo inverso funciona de la misma manera. Si tiene cascada y elimina B, eliminará la A a la que B apuntó. Luego seguirá la regla de eliminación de A a los Bs restantes (ya sea en cascada o nulificar).

Las reglas que estableces realmente dependen de tu modelo de datos. Si A fuera un cliente y B fueran sus pedidos, podría establecer que la regla A-> B rechace (evite que A se elimine si el cliente tiene pedidos) o en cascada (elimine los pedidos cuando se elimine al cliente). La regla B-> A probablemente sería "anular". Si se elimina un pedido simplemente elimine la referencia del pedido del cliente.

Las reglas de eliminación de relación se describen en la Guía de programación de datos básicos de Apple