【问题标题】:How to define a to-self relationship that's to-many only one way using Core Data?如何使用 Core Data 定义一种对多单向的自我关系?
【发布时间】:2011-10-17 00:52:11
【问题描述】:
在矢量图形操作程序中,我有一个“组”实体,它指定图形组和其他组。一个组只能属于一个其他组,但可以包含许多其他组。这是通过“组”关系完成的。
但是,在 Xcode 数据建模工具中,我不知道该怎么做。我有组属性,但是当我选择“多对多关系”时,它是双方的多对多,我希望它只在一侧是多对多。这是目前情况的图表(突出显示“组”关系):
有没有办法做我想做的事,或者我需要两个关系(“子组”和“超组”)?
【问题讨论】:
标签:
xcode
core-data
entity-relationship
datamodel
【解决方案1】:
您需要两个关系,因为每个实际实例都有两个独立的关系。它将属于一个“超群”,但会有许多“子群”。这些关系另一端的对象将不是相同的对象。
这与树结构的设置基本相同,其中每个节点都有一个父节点但有许多子节点。例如
Node{
parent<<-->Node.children
children<-->>Node.parent
}
由于每个关系在逻辑上都是不同的,因此它们需要在模型中单独定义关系。