2013-05-19 7 views
6

Ich möchte eine Mehrwege-Struktur mit Stammdaten implementieren. In meinem Kerndatenmodell gibt es eine Entität "Plan".Modellieren einer Baumstruktur in Core Data

  Plan 
     /| \ 
     Plan Plan Plan 
    /| \ |  | \ 
    Plan Plan ... 

Der Plan der höheren Ebene wird zu viele Beziehungen mit den Unterplänen haben.

Wie also sollte ich die Beziehung?

enter image description here

enter image description here

Antwort

13

I

  • ein to-many Beziehung Einheit selbst, mit der "Regel löschen" subplans (oder children) aus dem -Plan definieren würde auf "Cascade" setzen,
  • a zu-Eins-Beziehungsuperplan (oder parent) aus dem -Plan Einheit selbst, mit der „Regel löschen“ auf „Nullify“ gesetzt,
  • und setzen diese als inverse Beziehungen zueinander.

Wenn Sie ein -Plan löschen Objekt, dann automatisch

  • alle Teilpläne aufgrund der „Cascade“ löschen Regel gelöscht werden, und
  • der Plan wird von seinem übergeordneten Objekt entfernt aufgrund der Löschregel "Null".
+1

Das ist eine gute Antwort! –