【发布时间】:2013-04-17 19:14:13
【问题描述】:
我仍在尝试围绕 Core Data 进行思考,并且在放弃 SQL 时遇到了麻烦。我知道它们不一样,但我发现很难重新创建我在 SQL 中可以做的事情。我希望有人可以提供帮助。
我想做的是创建一个客户列表并返回他们当前账单的总和。我有两个实体:
客户
- 姓名
- 地址
- 等
计费
- 客户
- 日期
- 金额
- 等
我已经在 2 个实体之间创建了一对多的关系,并且我的 NSEntityDescription 指向了客户端。
现在我想用 SQL 术语发生的是:
SELECT *, SUM(amount) as Total FROM Clients INNER JOIN Billing......"
- 这可以通过一个 Fetch Request 来完成,还是我会做 2 个 Request 然后合并它们?
我可以使用 valueForKey:
@"billing.@sum.amount"吗?还有谁能推荐一本适合初学者、中级水平的优秀 Core Data 书籍(或网站)?
【问题讨论】:
-
Core Data 中没有内连接之类的东西。但至少它们有聚合函数:brianflove.com/2012/09/26/core-data-aggregate-functions
-
我了解核心数据中没有联接。我查看了您提供的链接,但我仍然感到困惑。父实体不能从子实体检索任何信息,反之亦然?还是我需要创建另一个 Fetch Request 来获取客户账单的总和?
-
Client实体是否具有指向Billing的反向关系?因为如果不是,它应该。 -
是的。这有帮助吗?
标签: ios core-data nsfetchrequest