0

通常,如果您在 Core Data 中有一对多的关系,我知道您应该将其设置为数据模型中的关系。在这种情况下,由于数据的来源和管理,很难做到。

我试图从本质上完成一个连接。

我想获取一个实体 A,它符合 A 的某些标准,但也符合 B.code 的标准和另一个属性。

选择语句将是

select attributeFromA from A, B where A.code = B.code and B.attrib="foo"

有没有一种合理的方法可以在不在核心数据中创建关系的情况下实现这一点?

4

1 回答 1

0

我只找到了两个解决方案,都不是很好。根据我的阅读,Core Data 不支持对多个实体的查询,除非它们之间存在关系。

  1. 无论如何添加关系。这可能特别糟糕,因为数据来自服务器。从服务器单独更新每个表时,无法轻松维护关系。需要在数据更改时重新创建关系。

  2. 在 Core Data 之外手动执行连接。在上述情况下,目的是获取匹配的对象标识符(“代码”)集。一种方法是执行单独的查询,然后获取交集。将每个查询设置为仅检索“代码”,而不是托管对象。

于 2012-09-27T17:33:58.200 回答