2011-11-13 49 views
1

我正在使用WPF和EF 4.2構建桌面應用程序。我有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隱藏了Navigation對象中實體的Id,所以我不能將它們用作「group by」中的鍵。

下一個問題是我不知道如何在組中包含第二級嵌套,因爲我還需要像Student.Name或School.Address一樣返回對象的屬性。

+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的目的,它將關係數據庫表映射到代碼中的對象中。