我到处搜索,但找不到我要找的确切内容。我的问题与此类似,但略有不同:
假设我有一个 Car 实体,它与 Person 实体具有一对多关系。这意味着这辆车可以有多个人驾驶,但每个人只能驾驶一辆车。
我希望能够只执行一个谓词,其中我可以实现以下目标:
- 所有“红色”的汽车。
- 仅返回匹配汽车的“年份”和“颜色”属性。
- 返回有多少人正在驾驶这辆车的计数(即每辆生成的车内的人的 NSSet 的大小)。
是否可以通过一个查询完成所有这些操作?
我知道如何通过多个查询来做到这一点。我只会使用setPropertiesToFetch
过滤谓词来实现上面的 1 和 2。然后,我将对countForFetchRequest
每辆车的 Persons 实体执行另一个计数查询 (),以查找每辆车有多少人驾驶。
关键是上面的第三个要求。我想在一个谓词中做所有事情,我不想在初始查询时将所有 Person 实体对象都带入内存(性能)。countForFetchRequest
此外,为每辆车调用另一个查询会很痛苦。
最好的方法是什么?
谢谢!