我正在使用 C# 语言。我的问题是我不知道如何将检索到的分层结果集存储到我的对象中。
这是我的对象:
public class CategoryItem
{
public string Name { get; set; }
public int CategoryID { get; set; }
public int ParentID { get; set; }
public List<CategoryItem> SubCategory = new List<CategoryItem>();
public List<CategoryItem> GetSubCategory()
{
return SubCategory;
}
public void AddSubCategory(CategoryItem ci)
{
SubCategory.Add(ci);
}
public void RemoveSubCategory(CategoryItem ci)
{
for (int i = 0; i < SubCategory.Count; i++)
{
if (SubCategory.ElementAt(i).CategoryID == ci.CategoryID)
{
SubCategory.RemoveAt(i);
break;
}
}
}
}
这是我从 MSSQL 服务器检索数据集的示例
ID PrntID Title
_______ _______
1 0 Node1
2 1 Node2
3 1 Node3
4 2 Node4
5 2 Node5
6 2 Node6
7 3 Node7
8 4 Node8
9 4 Node9
10 9 Node10
便于参考的树状图
Node 1
-Node 2
--Node 4
---Node 8
---Node 9
----Node 10
--Node 5
--Node 6
-Node 3
--Node 7
我的问题是如何将此结果存储到我的“CategoryItem 对象”中。我不知道我需要为此使用迭代吗?特别是当节点为 2 级时。我想以这样的方式存储它:
List<CategoryItem> items = new List<CategoryItem>();
有了这个,我可以挖掘“项目”对象中的每个对象,并且可以使用我类的 GetSubCategory() 方法访问它的子类别/子类别/子项。这可能吗?