假设我有一个名为EntityA
的实体。 EntityA与EntityB
和EntityC
有关系。 EntityB和EntityC都不是强制关系,但必须选择其中一个。
是否可以在Core Data中对此进行建模?
答案 0 :(得分:1)
如果EntityB和EntityC有一个共同的超类,你可以拥有该类型的必需关系。
那就是说,我听说它应该远离核心数据中的类层次结构。
YMMV
答案 1 :(得分:0)
您可以对模型对象进行任何类型的自定义约束。我认为你问的是什么?
检查Core Data文档中的托管对象验证文档。您正在寻找的是财产间验证。您可以实现自定义-validateFor…
方法以进行更新,插入和删除。在您的情况下,您将检查与实体B的关系或与实体C的关系是否已设置。
让一个共同的超级实体混淆这些实体的数据存储到磁盘的方式 - 这可能不是你想要的。