3

我有一个名为“Genre”的实体,它具有genreID 和parentGenreID 属性。我想创建一个动态属性,为我提供类型实体的计数,其中 parentGenreID 等于行的类型 ID,这样我就不必查询每个返回行的计数。

如果我在 SQL 中执行此操作,我将使用以下查询:

SELECT g.title, (SELECT COUNT(*) FROM genres sg WHERE sg.parentGenreID = g.genreID) as subgenres FROM genres g

我在想也许一个 Fetched Property 会是答案,但那些似乎是作为 NSArrays 返回的,我仍然试图找出合适的语法是什么。

我最好的猜测是:

SUBQUERY(Genre, $genre, $genre.parentGenreID = $FETCH_SOURCE.genreID).@count

在 Core Data 中执行此操作的正确方法是什么?

4

1 回答 1

-1

使用NSPredicate,您可以将条件放在哪里parentGenreID=genreID。而不是使用executeFetchRequest,usecountForFetchRequest来获取计数并再次使用 NSPredicatesubgenres INexecuteFetchRequest返回包含您预期的标题的记录。

于 2013-03-15T05:10:55.500 回答