2016-10-12 3 views
1

Ich habe eine Frage zu dem Core Data Model und der Cascade Delete Rule.Kerndatenmodell Cascade Delete und Parent Entity

My Core Data-Modell ist diese:

Core Data Model

Wie Sie die Benutzer Entity sehen können mit den Orders Entity ein "To Many" Beziehung hat. Auch die Orders-Entität hat eine übergeordnete Entität mit dem Namen "Cuisines", da jede Bestellung aus einer Liste der verfügbaren Küchen stammen muss.

Der Benutzer zu Bestellungen Beziehung löschen Regel ist Cascade (die Umkehrung ist nullify), wie ich möchte alle Aufträge gelöscht werden, wenn das Benutzerobjekt gelöscht wird.

Meine Frage ist, was passiert mit der Küche Entität, wenn ich den Benutzer löschen?

Die Küche sollte für alle Bestellungen für andere Benutzer verfügbar sein, so dass es bestehen bleiben muss. Wird es auch gelöscht?

Wenn ja, wie sollte ich mein Modell erstellen und die Löschregeln festlegen, um dies zu vermeiden?

Antwort

0

Angeben Cuisines als Mutter Entität für Orders bedeutet, dass jedes Objekt Orders ist ein Cuisine - wenn auch einen spezifischer „Typ“ von Cuisine. Jeder Order hat drei Attribute: numOfOrders, rating und name. Wenn Sie eine Order (wenn auch durch eine Kaskadenregel) löschen, löschen Sie ein Objekt mit allen drei Attributen - es gibt kein separates Cuisines Objekt, das gelöscht werden soll.

Aber Sie wollen jede Bestellung von eine Liste der verfügbaren Küchen sein. Ersetzen Sie also die Eltern/Untertitätsverknüpfung zwischen Orders und Cuisines durch eine Beziehung. Jede Cuisine kann sich auf mehrere verschiedene Orders beziehen, also wäre die Beziehung zu-viele. Umgekehrt bezieht sich jeder Order nur auf einen Cuisine, so dass die inverse Beziehung zu eins ist. Wenn Sie eine Order löschen, möchten Sie die verwandte Cuisines bleiben (für die Verwendung in anderen Orders), so würde die Löschregel "nullify" sein.

+0

Vielen Dank! Das hat es geklärt. Ich dachte daran, das zu tun, was Sie vorgeschlagen haben, wollte nur sicher sein, dass es der richtige Ansatz ist. – Lefteris

Verwandte Themen