0

テーブル「Person」とto-many関係にあるテーブル「Group」とto-many関係にある「Event」というテーブルがあるとします。

同じ人物を参照できる多くのグループを作成できます。

「Person」から「Group」への逆の関係はまだ追加していません。「Group」が削除された場合、関連する「Person」は別の場所で参照されている可能性があるため、削除したくないからです。

逆の関係を省くだけでいいですか?ドキュメントはこれに強く反対していますが、これは正しい方法であると思います。

どんな助けでも大歓迎です。

4

1 に答える 1

2

それ以外の理由がない限り、常に逆の関係にある必要があります。CoreDataがオブジェクトグラフの整合性を維持するのに役立ちます。リレーションシップのデフォルトの削除ルールは「Nullify」です。これは、希望どおりに聞こえます。「無効化」とは、このオブジェクトを削除すると、このリレーションシップのもう一方の端にあるリレーションシップ属性が削除されるか(to-oneリレーションシップの場合)、セットから値が削除される(to-manyリレーションシップの場合)ことを意味します。関係のもう一方の端を実際に削除する唯一の方法は、削除ルールを変更してそれを指定する場合です。

tl; dr:逆の関係を使用し、削除ルールをデフォルトの「Nullify」のままにします。

于 2010-12-04T08:18:49.617 に答える