Спасибо за размещение вашего решения! Это сэкономило мне часы!

у найти всех дочерних элементов данной записи в иерархической модели данных (см. Код ниже), но я не уверен, как пройтись по цепочке Родитель / Дочерний с заданным идентификатором ребенка. Кто-нибудь может указать мне правильное направление, чтобы выяснить, как это сделать? Возможно ли это и в Linq to SQL?

WITH TaskHierarchy (TaskID, [Subject], ParentID, HierarchyLevel, HierarchyPath) AS
(
   -- Base case
   SELECT
      TaskID,
      [Subject],
      ParentID,
      1 as HierarchyLevel,
      CONVERT(VARCHAR(MAX),'/') AS HierarchyPath
   FROM Task
   WHERE TaskID = 2

   UNION ALL

   -- Recursive step
   SELECT
      t.TaskID,
      t.Subject,
      t.ParentID,
      th.HierarchyLevel + 1 AS HierarchyLevel,
      CONVERT(varchar(MAX),th.HierarchyPath + CONVERT(VARCHAR(32),t.ParentID) + '/') AS HierarchyPath
   FROM Task t
      INNER JOIN TaskHierarchy th ON
         t.ParentID = th.TaskID
)

SELECT *
FROM TaskHierarchy
ORDER BY HierarchyLevel, [Subject]

Ответы на вопрос(1)

Ваш ответ на вопрос