Entity framework core 如何使用EF Core递归检索记录的层次结构?
我使用的是EF Core 2.1。我有一个具有以下属性的组对象:Entity framework core 如何使用EF Core递归检索记录的层次结构?,entity-framework-core,Entity Framework Core,我使用的是EF Core 2.1。我有一个具有以下属性的组对象: int-GroupId 智力?父组ID 组父组 该对象使用ParentGroupId属性引用其父对象的GroupId。查询时不知道层次结构的深度。如何检索整个层次结构 我尝试了以下方法,这将使我有三个层次,但我如何在不知道层次的深度的情况下获得层次结构的所有层次?我是否需要依赖存储过程 var group = await _membershipDbContext.Groups .Include(g => g.Pa
- int-GroupId
- 智力?父组ID
- 组父组
var group = await _membershipDbContext.Groups
.Include(g => g.ParentGroup)
.ThenInclude(g => g.ParentGroup)
.SingleOrDefaultAsync(g => g.GroupId == id);
您有三种选择:
选项1和2彼此没有太大区别,但使用选项2可以控制加载对象的时间。选项3可能是最有效的,但在保存更改时(当您手动变换对象图形时)可能会出现问题。您有三个选项: