मैं LINQ में एक क्वेरी को लागू करने की कोशिश कर रहा हूँ जो ON क्लाज में कई शर्तों के साथ एक लेफ्ट बाहरी जॉइन का उपयोग करता है।
मैं निम्नलिखित दो तालिकाओं के प्रोजेक्ट (ProjectID, ProjectName) और टास्क (TaskID, ProjectID, TaskName, पूर्ण) के उदाहरण का उपयोग करूँगा । मैं सभी परियोजनाओं की पूरी सूची उनके संबंधित कार्यों के साथ देखना चाहता हूं, लेकिन केवल उन कार्यों को पूरा किया जाता है।
मैं एक फ़िल्टर का उपयोग नहीं कर सकता Completed == true
क्योंकि यह उन परियोजनाओं को फ़िल्टर कर देगा जिनके पास कार्य पूरा नहीं है। इसके बजाय मैं Completed == true
शामिल होने के ON क्लॉज में जोड़ना चाहता हूं ताकि परियोजनाओं की पूरी सूची दिखाई जाएगी, लेकिन केवल पूर्ण किए गए कार्यों को दिखाया जाएगा। पूर्ण कार्य नहीं करने वाली परियोजनाएँ टास्क के लिए एक शून्य मान के साथ एक एकल पंक्ति दिखाएंगी।
यहाँ क्वेरी की नींव है।
from t1 in Projects
join t2 in Tasks
on new { t1.ProjectID} equals new { t2.ProjectID } into j1
from j2 in j1.DefaultIfEmpty()
select new { t1.ProjectName, t2.TaskName }
मैं && t2.Completed == true
खंड पर कैसे जोड़ूँ ?
मैं ऐसा करने के लिए कैसे कोई LINQ प्रलेखन खोजने के लिए प्रतीत नहीं कर सकते।