3

我的核心数据模型遇到了问题。我想让一个名为 TherapySession 的实体有两个 Mood 事件——开始和结束。为此,我定义了两个与子对象的关系:

在此处输入图像描述

但是,我还想创建一个反向关系,其中每个 Mood 对象都会知道它的父母治疗会话。当定义了多个相同类型的关系时,我不确定如何正确创建子对象和父对象之间的反向关系。在我的例子中,反向关系指向治疗会话的“startMood”属性:

在此处输入图像描述

似乎我做错了什么,但我无法解决如何解决这个问题。如果我在治疗中添加结束情绪,并且核心数据会尝试创建反向关系,它会覆盖 startMood 关系吗?

感谢您的任何澄清!我知道可以通过添加一组对象,然后按日期对集合进行排序来避免这种情况,但我想避免对每个对象都这样做。

4

2 回答 2

3

一种解决方案是坚持简单的多对一关系和实体中指示开始或结束mood的附加属性。Mood

这也更加灵活——将来在不同的治疗点等处引入更多的情绪将是微不足道的,而无需更改数据模型。

于 2012-08-04T21:11:03.153 回答
2

我不确定这是否是正确的方法,但我总是最终创建两个反向关系,例如startMoodInverseendMoodInverse。(然后,您可以在代码中添加一个属性,该属性将其中任何一个非零返回为therapySession.)

于 2012-08-04T16:33:57.750 回答