2012-04-26 9 views
0

私は、このような関係があります:クラスFirstChild1に関連継承とナビゲーションプロパティ

class FirstParent { 
    public SecondParent SecondRecord { get; set; } 
} 

class SecondParent { 
    public IEnumerable<FirstParent> FirstRecords { get; set; } 
} 

class FirstChild1 : FirstParent { 
    public String StrInFirstChild1{ get; set; } 
} 

class SecondChild1 : SecondParent { 
    public String StrInSecondChild1{ get; set; } 
} 

class FirstChild2 : FirstParent { 
    public String StrInFirstChild2{ get; set; } 
} 

class SecondChild2 : SecondParent { 
    public String StrInSecondChild2{ get; set; } 
} 

レコードがタイプSecondChild1です。 FirstChild2クラスに関連するレコードは、SecondChild2型です。

私は結果に

var record = from ch in context.FirstParent.OfType<FirstChild1>() select ch.SecondRecord; 

を書くとき、私はまた、オブジェクトをSecondParentています。 何が起こっていますか? SecondChild1オブジェクトの読み込み方法

+1

私はそれに間違いを見つけません。あなたはFirstChild1型の項目をFirstParentエンティティセットから要求しています(私はそれがサブセットであると仮定します)。そして、それらのそれぞれについて、SecondParent型のナビゲーションプロパティSecondRecordにアクセスします。だから私はクエリがSecondParent型付きのインスタンスだけを返すと期待します。おそらく、あなたが正しいと思うクエリの意図を記述すると、助けが簡単になるでしょう。 –

答えて

0

解像度が見つかりました。 4つのテーブルすべてからレコードをロードし、匿名オブジェクトに必要な情報を収集するために結合します。