核心数据 - 可以建立OR关系

时间:2012-05-15 19:32:37

标签: objective-c core-data

假设我有一个名为EntityA的实体。 EntityA与EntityBEntityC有关系。 EntityB和EntityC都不是强制关系,但必须选择其中一个。

是否可以在Core Data中对此进行建模?

2 个答案:

答案 0 :(得分:1)

如果EntityB和EntityC有一个共同的超类,你可以拥有该类型的必需关系。

那就是说,我听说它应该远离核心数据中的类层次结构。

YMMV

答案 1 :(得分:0)

您可以对模型对象进行任何类型的自定义约束。我认为你问的是什么?

检查Core Data文档中的托管对象验证文档。您正在寻找的是财产间验证。您可以实现自定义-validateFor…方法以进行更新,插入和删除。在您的情况下,您将检查与实体B的关系或与实体C的关系是否已设置。

让一个共同的超级实体混淆这些实体的数据存储到磁盘的方式 - 这可能不是你想要的。