【发布时间】:2010-10-30 04:32:47
【问题描述】:
如您所见,我有一个自引用类别表:
我想解析此表以找出每个类别的树级别。例如,如果根节点级别为 0,则 CPU 和硬盘驱动器以及 VGA 和 RAM 处于级别 1,依此类推。我该如何处理?
我创建了一个字典来放置每个类别 ID 及其级别:
Dictionary<int, int> dic = new Dictionary<int, int>();
Key 是 CategoryId,Value 是 Level。 请帮助我如何填写字典?
【问题讨论】:
-
如果您使用的是 SQL 2008,您可以更改自引用表以使用新的 HierarchyID 数据类型,该数据类型非常适合此类层次结构。否则,您将需要使用 CesarGon 所说的 CTE……除非您想在 C# 代码中进行解析。
标签: c# sql-server-2005 linq-to-sql hierarchical-data self-join