我想创建一个CoreData模型,它实现了以下目标:
我有各种不同类型的实体(评论,图像,用户等),它们都有相同的10个字段(即isSent,isReceived,isAuthorised,authorisationDate等)
我不想将这10个字段添加到每个记录中,而是想在它们上创建一个单独的实体(称为Measurement),并且我的每个其他实体都与Measurement实体具有一对一的关系
我可以通过单向关系来做到这一点,但我希望这种关系是双向的(这样我就可以抓住所有授权的测量,并跟踪它们是什么(无论它们是否是评论,图片,用户等。)
是否存在反向关系,我没有指定反向实体的类型?或者我是否需要为每个反向实体添加单独的关系?
由于
答案 0 :(得分:0)
首先,这不是一个好的域模型:这些类应该被命名为其他类,例如UserMeasurement。我建议您考虑做一个模型,其中您将Measurement作为基础,抽象类,然后为每个实体类型执行类。 CoreData实际上可以很好地进行继承。如果您有像Hibernate这样的ORM经验,那就完全不同了,但很容易设置。这些东西都满足了继承的要求,并且没有办法无法衡量(这就是为什么基础应该是抽象的)。
这是讨论此问题的CoreData文档中的the location。
答案 1 :(得分:0)
一种可能的解决方案是创建一个Abstract Entity
,其中所有这些类都从名为Measurable
继承,并且关系可以存在。