c# - How to implement left join in JOIN Extension method -


मैं p.Person तालिका के लिए इस प्रकार की क्वेरी पर एक बाह्य सम्मिलन को लागू करने की कोशिश कर रहा हूं । मैं यह कैसे करूँगा?

यह उदाहरण

  var onlyinfo = p.Person से लिया गया है। जहां (n = & gt; n.FirstName.Contains ('a' )) .जोइंड (पी। पीसइन इन्फो, एन = & gt; एन। पीसैनआईडी, एम = & gt; एम। पीसिसआईडी, (एनएम) = & gt; एम) .ओएआरआरए & एलटी; व्यक्तिस। पी। इन्फोरा & gt; ();  "post-text" itemprop = "text"> 

आम तौर पर LINQ में छोड़ा गया समूह समूह के साथ मॉडल बनता है, कभी-कभी DefaultIfEmpty और SelectMany :

  var बाएं जोन = p.Person.Where (n = & gt; n.FirstName.Contains ("a")) .GroupJoin (p.PersonInfo, n = & gt; n.PersonId, m = & gt; m.PersonId, (n, ms) = & gt; नया {n, ms = ms.DefaultIfEmpty ()})। चयन मेने (z = & gt ; Z.ms.Select (m = & gt; नया {n = zn, m));  

यह जोड़े (n, m) का एक क्रम देगा जहां n प्रविष्टि p.Person और से है से <प्रविष्टि> p.PersonInfo है, लेकिन अगर कोई मेल नहीं है तो m शून्य हो जाएगा।

(यह पूरी तरह से untested है, बीटीडब्ल्यू - लेकिन आपको वैसे भी विचार देना चाहिए:)


Comments