【问题标题】:Linq query for EF 4.1 data with nested lists带有嵌套列表的 EF 4.1 数据的 Linq 查询
【发布时间】:2011-11-13 12:37:54
【问题描述】:

我正在使用 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 隐藏了导航对象中实体的 ID,因此我不能将它们用作“分组依据”中的键。

下一个问题是我不确定如何在组中包含第二级嵌套,因为我还需要沿途返回对象的属性,例如 Student.Name 或 School.Address。

【问题讨论】:

  • 数据架构应如下所示:
  • 不清楚您使用的是 EF 4.1 还是 EF 4.2。

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


【解决方案1】:

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

标准类似于

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-12
    • 1970-01-01
    • 2023-04-09
    • 2015-11-26
    • 1970-01-01
    • 1970-01-01
    • 2017-11-29
    • 1970-01-01
    相关资源
    最近更新 更多