当前位置: 首页 > 知识库问答 >
问题:

如何选择EF中实体的整个父/子树?[副本]

姜磊
2023-03-14

在我们的数据库中,我们有一个很大的“GOD”表,它与其他表(pk/fk)有几个父/子关系,这些表与其他表有几个父/子关系,依此类推。基本上是一棵树,根植于“神”表层面。我知道这是一种常见的表格结构。

我们使用实体框架的实体映射到表。有没有一种像样的方法可以使用Linq在一个语句中选择整个记录“树”?也许是通过嵌套/链接所选内容来包含子实体/表,所以我们返回god对象及其所有相关对象?多谢了。

Update:好的,看来使用.include()确实是我要找的。谢谢你指出副本。

共有1个答案

史烈
2023-03-14

请记住,您可以使用投影来完成所有这些操作,而不需要使用includes,因为includes会导致较慢的查询速度。一个小例子是这样的:

var relatiesOverviewsEnumerable = relatieRepository
            .Query()
            .NoTracking()
            .OrderBy(q => q.OrderBy(d => d.RelatieId))
            .Select(b => new RelatieOverview
            {
                RelatieId = b.RelatieId,
                Naam = b.Naam,
                BTW = b.BTW,
                HoofdAdres = b.Adressen.FirstOrDefault(a => a.AdresTypeId == HoofdadresType)
            });
        _relatieOverviews = new ObservableCollection<RelatieOverview>(relatiesOverviewsEnumerable);
 类似资料:
  • 我在两个实体之间有双向或父/子关系: 我要选择没有的所有或的属性设置为的。 我使用的是。

  • 我正在寻找一种方法,使用带有元模型的jpa criteria查询API来选择父实体的所有子实体。 表族 } 表家庭成员 现在,我想在选择family时选择family的所有子实体,而不是使用更慢的方法来获取所有family的列表,循环列表并填充family member list。 为了实现这个结果qith平原SQL,我写这样一个查询: 现在我的问题是,如何将本机查询转换为criteria API

  • 问题内容: 仅使用SQL(MySQL),我想选择一个父子关系的最后一个子行,其中子行按时间戳排序。 例如,使用表和,我想分别获取每个表的最新记录(即带有最新时间戳的记录)。 产生类似于下表的结果集的最佳SQL语法是什么? 问题答案:

  • 问题内容: 我有以下标记: 我希望将样式设置为“一个”和“三个”。 但是,标记也可以是: 我尝试使用以下CSS: 但是,正如预期的那样,这是每个样式的第一个子元素的样式。 如何更改CSS,以便可以定位属于的第1个和第3个? 问题答案: 您不能仅凭CSS选择器来做到这一点。和兄弟组合器仅限于共享其父代的子代/兄弟姐妹,正如其名称所暗示的那样,并且CSS选择器无法解释父子结构的这种变化,也没有类似选择

  • 我想我有两个实体具有双向的和关联: ——有很多-- 我想选择实体,其中所有关联的实体都将设置为 例如,如果我有以下数据: 起源: 孩子: 我想要一个HQL或JPQL查询,它返回1的实体。 知道吗?

  • 我正在尝试使用JPA注释设计我的实体类。 我正在努力做的是: 具有 ID、***电子邮件、密码、activation_key、active、role***的用户表 和许多类型的用户表。 student_table user_id第一名最后一名公司地址等 MENTOR user_id第一名最后一名DOB部门等 当用户注册时,根据他们的角色,他们将被分为两个表(用户、导师/学生) 当它们登录时,Man