Linq使用嵌套列表查询EF 4.1数据

时间:2011-11-13 12:37:55

标签: .net wpf linq entity-framework-4 linq-to-entities

我正在使用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一样返回对象的属性。

1 个答案:

答案 0 :(得分:1)

您不需要Group By - 只需检索当前对象图中的实体。

标准类似于

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

这将返回一个包含一组学生的对象图,其中每个学生包含一组学校,其中每个学校包含一组课程。 '分组'由EF完成 - 这是ORM的目的,它将关系数据库表映射到代码中的对象。