2011-11-13 3 views
1

저는 WPF 및 EF 4.2와 함께 데스크톱 응용 프로그램을 작성하고 있습니다. 3 대 엔티티가 계단식 일대 다 관계를 가지고 있는데 학생은 0 개 이상의 학교가 있습니다. 학교에는 0 이상의 수업이 있습니다. 학생, 모든 학교, 모든 수업을 보여주는 그룹화 된 목록에 데이터를 표시해야합니다.중첩 목록이있는 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를 숨겨서 "그룹화 기준"의 키로 사용할 수 없다는 것입니다.

다음 문제는 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의 목적입니다.