我必须从下到上填充一个层次结构树,从一个节点开始到它的根节点:我有一个内部包含多对一关系的表,其中包含下属的 id 和上级的 id。
PK | SUBORDINATE_ID | SUPERIOR_ID
1 | 50 | 22
2 | 51 | 22
3 | 52 | 22
4 | 22 | 10
5 | 10 | 1
6 | 60 | 2
7 | 70 | 3
8 | 80 | 4
如何有效地遍历表格并填充结构以满足我的需求?考虑到可能有多个根节点,我应该使用哪种结构?
例如,4 个联合创始人将是我的 4 个根节点,但将来他们可能会超过 4 个
一个可以满足我需要的结构将是这样的类列表
public class HierarchyMember
{
public int Id { get; set; }
public List<HierarchyMember> Children { get; set; }
}
但是在使用LINQ时并不实用,而且很难从下到上填充。