我一直在使用Core Data来建模我的数据库。我有两个实体,有多对多的关系。每个人可以拥有许多地址,并且在每个地址上可以有多个人居住。
现在我想为这段关系添加属性。例如,一个人 - 地址将有标签回家,其他人 - 地址可以有标签妈妈的地方。
我无法在地址实体上添加此属性,因为相同的地址将为不同的人设置不同的标签。
由于关系的建模方式与NSSet
类似,我看不到按照自己的意愿行事。
这可以以某种方式完成吗?
答案 0 :(得分:2)
无法直接向多对多关系添加属性。 Apple推荐的方法(参见CoreData编程指南中的"Modelling a relationship based on its semantics")是替换与您添加属性的中间实体的多对多关系。您现有的每个实体都与新实体有一对多的关系。
在您的情况下,您可能会遇到以下情况:
Person <--->> PersonAddressDetails <<---> Address
然后,您可以将label
属性添加到PersonAddressDetails
实体。