क्या लिंक से एसक्यूएल में सामान्य टेबल एक्सप्रेशन (सीटीई) (जैसा कि नीचे दिखाया गया है) करना संभव है। मैं सीटीई के साथ-साथ लिंक से एसक्यूएल के लिए काफी नया हूं।सामान्य तालिका अभिव्यक्ति (सीटीई) linq-to-sql में?
मैं वर्तमान में संग्रहीत प्रक्रिया मुक्त हूं (लेकिन किसी भी माध्यम से उनके खिलाफ नहीं) इसलिए मैं केवल एक प्रश्न के लिए संग्रहित प्रोसेस में छलांग नहीं लेना चाहता हूं जब तक कि यह पूरी तरह से आवश्यक न हो।
यहाँ मैं एसक्यूएल में क्या कर रहा का एक उदाहरण है कि मैं अगर मैं एसक्यूएल को Linq में कर सकते हैं सोच रहा हूँ:
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]