从一个实体到一个实体的CoreData关系

时间:2013-04-05 15:24:34

标签: ios objective-c core-data

我想创建一个CoreData模型,它实现了以下目标:

我有各种不同类型的实体(评论,图像,用户等),它们都有相同的10个字段(即isSent,isReceived,isAuthorised,authorisationDate等)

我不想将这10个字段添加到每个记录中,而是想在它们上创建一个单独的实体(称为Measurement),并且我的每个其他实体都与Measurement实体具有一对一的关系

我可以通过单向关系来做到这一点,但我希望这种关系是双向的(这样我就可以抓住所有授权的测量,并跟踪它们是什么(无论它们是否是评论,图片,用户等。)

是否存在反向关系,我没有指定反向实体的类型?或者我是否需要为每个反向实体添加单独的关系?

由于

2 个答案:

答案 0 :(得分:0)

首先,这不是一个好的域模型:这些类应该被命名为其他类,例如UserMeasurement。我建议您考虑做一个模型,其中您将Measurement作为基础,抽象类,然后为每个实体类型执行类。 CoreData实际上可以很好地进行继承。如果您有像Hibernate这样的ORM经验,那就完全不同了,但很容易设置。这些东西都满足了继承的要求,并且没有办法无法衡量(这就是为什么基础应该是抽象的)。

这是讨论此问题的CoreData文档中的the location

答案 1 :(得分:0)

一种可能的解决方案是创建一个Abstract Entity,其中所有这些类都从名为Measurable继承,并且关系可以存在。