我正在使用WPF和EF 4.2来构建桌面应用程序。我有3个实体,它们具有级联的一对多关系,学生有零或多个学校。学校有零或多课程。我需要在分组列表中显示数据,显示学生,他们所有的学校以及他们所有的课程。
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,因此我不能将它们用作&#34;组中的键#34;。
下一个问题是我不确定如何在组中包含二级嵌套,因为我还需要像Student.Name或School.Address一样返回对象的属性。
答案 0 :(得分:1)
您不需要Group By
- 只需检索当前对象图中的实体。
标准类似于
var context = new EntityContext();
var students = context.Students.Include("Schools").Include("Schools.Classes");
return students;
这将返回一个包含一组学生的对象图,其中每个学生包含一组学校,其中每个学校包含一组课程。 '分组'由EF完成 - 这是ORM的目的,它将关系数据库表映射到代码中的对象。