AFAIK LINQ और न ही EF में पुनरावर्ती CTE के लिए कोई समर्थन नहीं है। इसका समाधान सीटीई को एक दृश्य के रूप में बेनकाब करना है। EF कोड फर्स्ट और माइग्रेशन का उपयोग करते हुए रिकर्सिव या पदानुक्रमित प्रश्नों पर लेख दिखाता है कि EF कोड फर्स्ट माइग्रेशन का उपयोग करके इस तरह के दृश्य को कैसे तैनात किया जाए।
पुनरावर्ती क्लाइंट साइड पुनरावृत्तियों द्वारा सीटीई का अनुकरण करने का प्रयास बड़े डेटा सेटों के पैमाने पर नहीं होता है और इसके परिणामस्वरूप सर्वर के साथ बातचीत होती है। ध्यान दें कि आपका EF कोड कैसे लौटाता है IEnumerable
नहीं IQueryable
, इसका मतलब है कि यह प्रत्येक स्तर को अमल में लाता है और फिर प्रत्येक प्रविष्टि के लिए अगले स्तर को जोड़ता है एक अलग अनुरोध के रूप में . LINQ आधारित समाधान सीमित प्रविष्टि संख्या वाले उथले पदानुक्रमों के लिए उचित रूप से काम करेगा (और ध्यान दें कि कई प्रोजेक्ट कर सकते हैं ऐसे डेटा लेआउट हैं, उपयोगकर्ता पोस्ट/उत्तर एक विशिष्ट उदाहरण हैं), लेकिन कई तत्वों के साथ गहरे पदानुक्रम के तहत उखड़ जाएंगे।