sql - Missing database entries with a null value in row, when performing a linq statment -
तो यहां एसक्यूएल क्वेरी है:
अलग A.CategoryName, A.CategoryID चुनें, [डीबीओ]। [डीटीओ] [डीबीओ]। [श्रेणी] एक वाम [ईवैलटूल] में शामिल हो गया। [डीबीओ]। [श्रेणी और प्रोजेक्ट 2] बी पर A.CategoryID = बी.कैशडीआईडी और बी। प्रोजेक्ट आईडी = 65 और उम्मीद है कि समान linq कथन:
int pID = (int) सत्र ["projectSession"]; ViewData.Model = (_db.Category से c में _db.CategoryAndProject2 में c.CategoryID बराबर है r.CategoryID को 1 में शामिल होने से j से 1। डीफॉल्ट IFEmpty () जहां j.ProjectID == pID नए श्रेणी DTO का चयन करें {CatID = c। श्रेणीआईडी, कैटनाम = सी। श्रेणी नाम, प्रेजिड = (इंट) जे। प्रोजेक्ट आईडी))। विशिष्ट ()। टूलास्ट (); एसक्यूएल बयान के लिए परिणाम निम्न तालिका है:
श्रेणी नाम आईडी परियोजना आईडी - - - - - - - - - - - - - - - - - - - 1 एक्स शून्य शून्य 2 नल ज़ 3 3 नल मी 4 नल न 5 नल मैं 6 नल ओ 7 नल आर 8 नल 9 9 65 यू 10 65 <पी> जबकि लिनक स्टेटमेंट केवल सूची 2 पंक्तियों, बिना किसी रिक्त प्रविष्टि के। श्रेणी नाम ID ProjectID - - - - - - - - - - - - - - - - - - - एस 9 65 यू 10 65 लेकिन मुझे उन पंक्तियों की जरूरत है जो मेरे विचार में शून्य प्रविष्टि के साथ है।
मैं उनको भी चुनने के लिए कैसे सुनिश्चित कर सकता हूं?
धन्यवाद पहले से बहुत पहले
अपमानजनक रेखा,
जहां j.ProjectID == pID पर फ़िल्टरिंग है ProjectID , और तार्किक रूप से शून्य पंक्तियों को वापस नहीं किया जाएगा, जब तक कि pID स्वयं नल हो। आपके मामले में यह 65 हो सकता है और इस प्रकार लाइन को पर बदला जाना चाहिए जहां j.ProjectID == pID || J.ProjectID == शून्य वैकल्पिक रूप से, यदि आप इसे ON में शामिल करना चाहते हैं, तो आप ऐसा कर सकते हैं: _db से c से। सेगमेंट में डीडीबी में शामिल होने के लिए। श्रेणी और प्रोजेक्ट 2 पर नया {c.CategoryID, ProjectID = pID} नया {r.CategoryID, r.ProjectID} 1 में शामिल होने के लिए
इसके बाद, असाइनमेंट
प्रेजिड = (इंट) j.ProjectID अपने select statement में असफल। आपको यह तय करना होगा कि इसके साथ क्या करना है।
Comments
Post a Comment