高低を検索しましたが、探しているものを正確に見つけることができませんでした。私の質問はこれに似ていますが、少し異なります:
Person エンティティと 1 対多の関係を持つ Car エンティティがあるとします。これは、複数の人が車を運転できることを意味しますが、各人は 1 台の車しか運転しません。
次のことを達成できる述語を1つだけ実行できるようにしたい:
- 「赤」のすべての車。
- 一致する車の 'Year' および 'Color' 属性のみを返します。
- この車を運転している人の数を返します (つまり、結果として得られる各車内の People の NSSet のサイズ)。
これらすべてを 1 つのクエリで実行することは可能ですか?
複数のクエリでこれを行う方法を知っています。setPropertiesToFetch
上記の 1 と 2 を実現するには、フィルター処理された述語を使用して使用するだけです。次に、すべての車の Persons エンティティに対して別のカウント クエリ ( countForFetchRequest
) を実行して、各車を運転する Person(s) の数を調べます。
重要なのは、上記の 3 番目の要件です。すべてを 1 つの述語で実行したいのですが、最初のクエリですべての Person エンティティ オブジェクトをメモリ (パフォーマンス) に取り込みたくありません。countForFetchRequest
さらに、車ごとに別のクエリを呼び出すのは面倒です。
これを行う最善の方法は何ですか?
ありがとう!