コアデータモデルの親エンティティと子エンティティに小さな問題があります。私のコアデータモデルには、多くのgoogleplusアカウントまたはTwitterアカウントをリンクできるPersonエンティティがあります。これらの2つのエンティティ以来; GooglePlusとTwitterは、それらが持っているプロパティとどういうわけか似ています。私は、SocialConnectionと呼ばれる抽象的なエンティティを作成することを考えました。これで、私のPersonエンティティはSocialConnectionエンティティと多くの関係を持ち、SocialConnectionエンティティはGooglePlusとTwitterの両方の親になります。
Person <----->> SocialIdentifier ---- Child ---- GooglePlus
|
|
Child
|
|
Twitter
私のグラフィカルモデルを次の図に示します。
今、私はここに状況があります。Personには、TwitterオブジェクトであるかGooglePlusオブジェクトであるかに関係なく、すべての接続をフェッチするsocialConnectionsというプロパティがあります。でも、いつかツイッターとグーグルプラスだけをフェッチしたいです。どうすればいいですか。
1つのアイデアは、Personエンティティを指すSocialIdentifierからの後方関係を持ち、Personに各子との前方関係を作成させることだと思います。
それは次のように表されます。
Person <----------- SocialIdentifier -------- Child --------GooglePlus----->> Person
|
|
Child
|
|
Person <<------- Twitter
グラフ表示;
しかし、この表現でも、私はいくつかの問題に直面しています。Personモデルからグーグルとツイッターを取得できましたが、SocialConnectionsへの参照がありません。すべての接続。そして、最初のものは設計を大幅に簡素化するので、これは冗長だと思います。最初のものを少し微調整することで目的の結果が得られると確信していますが、それを理解することはできませんでした。
どうすれば最初のモデルから直接twitterまたはgoogleをフェッチできますか、または述語ofcourseを使用せずにPersonモデルからすべての接続をフェッチすることは可能ですか。これにはかなりきちんとした解決策があると確信しています。よろしくお願いします。