2011-11-13 12 views
1

私はWPFとEF 4.2でデスクトップアプリケーションを構築しています。私は1対多のカスケード関係を持つ3つのエンティティを持っています。生徒はゼロ以上の学校を持っています。スクールにはゼロ以上の授業があります。私は、学生、すべての学校、すべてのクラスを示すグループ化されたリストにデータを表示する必要があります。入れ子リストのEF 4.1データのLinqクエリ

Students   School   Class 
int Id   int Id   int Id 
string Name  string Name  string Subject 
int yearBorn  string Address int Credits 
IList<School>  IList<Class> 

データを整形する方法がわかりません。

最初の問題は、EF 4.2がナビゲーションオブジェクトのエンティティのIDを隠しているため、「グループ」のキーとして使用できないことです。

次の問題は、Student.NameやSchool.Addressのような方法でオブジェクトの属性を返す必要があるため、2番目のレベルの入れ子をグループに含める方法がわかりません。

+0

データスキーマは次のようになります。 – JimBoone

+0

どのように見えるのですか? –

+0

EF 4.1またはEF 4.2を使用しているかどうかは不明です。 –

答えて

1

Group Byは必要ありません。現在のオブジェクトグラフでエンティティを取得するだけです。

標準は

var context = new EntityContext(); 
var students = context.Students.Include("Schools").Include("Schools.Classes"); 
return students; 

これは、各学生は、各学校は、クラスのセットが含まれている学校のセットを、含まれている学生のセットを含むオブジェクトグラフを返すようなものです。 「グループ化」はEFによって行われます。これは、リレーショナルデータベーステーブルをコード内のオブジェクトにマップするORMの目的です。

関連する問題