3

コア データ モデルで問題が発生しています。TherapySession というエンティティに、開始と終了の 2 つの Mood イベントを持たせたいと考えています。そのために、子オブジェクトへの 2 つの関係を定義しました。

ここに画像の説明を入力

ただし、逆の関係も作成したいと思います。各 Mood オブジェクトは、親のセラピー セッションを認識します。同じタイプの関係が複数定義されている場合に、子オブジェクトと親オブジェクトの間に逆の関係を適切に作成する方法がわかりません。私の場合、逆の関係は治療セッションの「startMood」プロパティを指しています。

ここに画像の説明を入力

私は何か間違ったことをしているようですが、この問題を解決する方法を指で示すことはできません。治療に終わりの気分を追加すると、コア データが逆の関係を作成しようとすると、startMood の関係が上書きされますか?

説明ありがとうございます!オブジェクトのセットを追加し、セットを日付でソートすることでこれを回避できることはわかっていますが、オブジェクトごとにそれを行う必要は避けたいと思います。

4

2 に答える 2

3

1 つの解決策は、単純な多対 1 の関係と、開始または終了を示すmoodエンティティ内の追加の属性に固執することです。Mood

これはより柔軟でもあります。将来的には、データ モデルを変更することなく、さまざまな治療ポイントなどでより多くの気分を導入することが簡単になります。

于 2012-08-04T21:11:03.153 に答える
2

これが正しい方法かどうかはわかりませんが、常に と のような 2 つの逆の関係を作成することにstartMoodInverseなりendMoodInverseます。(その後、それらのうち非 nil as を返すプロパティをコードに追加できますtherapySession。)

于 2012-08-04T16:33:57.750 に答える