核心数据与关系中参数的关系
Core Data relationship with parameter in relationship
我有一个核心数据项目,我想在两个人之间建立关系,但我希望能够设置或更改两个人之间的关系类型。
假设我有一个名为 "Person" 的核心数据实体,我在 "Person" 和 "Person" 之间建立了一个关系,我称之为生物父子关系,反之亦然亲子父子关系。
这会很好用。现在我想添加一个 adoptationFatherSon - 关系,以及一个监护人、继父、寄养……关系。对于所有这些情况,我都可以建立关系,但我更愿意在两个人之间建立关系,并将类型设置为生物、收养、密封、寄养……会有一对一的关系,但我可以设置类型作为某处的参数。
我如何使用 Core Data 做到这一点?
在两个核心数据实体之间实现关系的正常方法与您指出的完全一样。这不同于未建模为 "object graphs" 的普通关系数据库,因为您不需要 "join table",因为 Core Data 框架会为您管理它。
但是,您想为人际关系建模,所以可能会出现术语混淆。
在 Core Data 中,如果您想要记录关于关系的附加信息,您可以使用连接表。例如
Person <-------->> Relationship <<--------> Person
其中 Relationship
是另一个具有进一步描述关系的属性 type
的实体。
我有一个核心数据项目,我想在两个人之间建立关系,但我希望能够设置或更改两个人之间的关系类型。
假设我有一个名为 "Person" 的核心数据实体,我在 "Person" 和 "Person" 之间建立了一个关系,我称之为生物父子关系,反之亦然亲子父子关系。 这会很好用。现在我想添加一个 adoptationFatherSon - 关系,以及一个监护人、继父、寄养……关系。对于所有这些情况,我都可以建立关系,但我更愿意在两个人之间建立关系,并将类型设置为生物、收养、密封、寄养……会有一对一的关系,但我可以设置类型作为某处的参数。
我如何使用 Core Data 做到这一点?
在两个核心数据实体之间实现关系的正常方法与您指出的完全一样。这不同于未建模为 "object graphs" 的普通关系数据库,因为您不需要 "join table",因为 Core Data 框架会为您管理它。
但是,您想为人际关系建模,所以可能会出现术语混淆。
在 Core Data 中,如果您想要记录关于关系的附加信息,您可以使用连接表。例如
Person <-------->> Relationship <<--------> Person
其中 Relationship
是另一个具有进一步描述关系的属性 type
的实体。