Эй, у меня есть этот кусок кода, я боролся с ним часами. в основном то, что делает этот оператор sql, получает ALL подпапки указанной папки (@compositeId).
WITH auto_table (id, Name, ParentID) AS
(
SELECT
C.ID, C.Name, C.ParentID
FROM Composite_Table AS C
WHERE C.ID = @compositeId
UNION ALL
SELECT
C.ID, C.Name, C.ParentID
FROM Composite_Table AS C
INNER JOIN auto_table AS a_t ON C.ParentID = a_t.ID
)
SELECT * FROM auto_table
Этот запрос вернет что-то вроде этого:
- Id | Имя | ParentId
- 1 | StartFolder | NULL
- 2 | Folder2 | 1
- 4 | Folder3 | 1
- 5 | Folder4 | 4
Теперь я хочу преобразовать код в linq. Я знаю, что это связано с некоторой формой рекурсии, но все еще застрял благодаря заявлению with. Помощь