2

CoreData で N:M の関係を作成する方法について、多くの質問があります。

2 つのエンティティ A と B があり、エンティティ関係モデルで N:M の関係がある場合、テーブル A と B の一意の ID を含む新しいテーブル C を生成する必要があります。

エンティティ関係の例:

ここに画像の説明を入力

データベースモデルでは:

ここに画像の説明を入力

コアデータによって行われる前の例を考えてみますか?

ここに画像の説明を入力

または:

ここに画像の説明を入力

実を言うと、Core Data の関係については本当に迷っています。どんな助けも歓迎します。

私の英語は申し訳ありませんが、あまり上手ではありません。

4

1 に答える 1

3

これに対する答えは、追加情報を格納する場合、Core Data でも「結合テーブル」を使用する必要があるということです。これは関係によってカバーされるため、外部キーを追跡する必要はありません。

通常、標準 DB の「結合テーブル」には、「tableA_tableB」などの醜い名前が付いています。概念を明確にするために、適切な名前を見つけるよう努める必要があります。例えば:

Car <<--->> Person
になる
Car <--->> Rental <<---> Person

エンティティのレンタルで、時間などの情報を追加できるようになりました。したがって、たとえば、特定の日付 (Rental エンティティに NSDate として格納されている) より前に車を借りたすべての人を検索する場合、述語は次のようになります。

 [NSPredicate predicateWithFormat:@"ANY rentals.time < %@", cutoffTime]
于 2013-10-17T15:31:51.860 に答える