我有一个来自数据库的项目集合,这些项目具有parentid
值或空值。
这是我的班级设计:
public class Item
{
public int id{get;set;}
public string Name{get;set;}
public int? ParentId{get;set;}
public List<Item> SubItems{get;set;}
}
我想从集合中构建项目的层次结构。假设一个集合是 100 个项目,我需要从中构建基于 ParentId 映射的结构。
我尝试了这篇文章Recursive Hierarchical Joins in C# and LINQ 但如果 ParentId 为空,它会给我一个错误。
还尝试通过递归检查父子关系 C# 来构建树类型列表,但这个解决方案也不适用于我。
我如何实现这一目标?