2008-09-05 8 views
7

आप इसे लिंक में कैसे लिखते हैं?मैं लिंक में myTable से आईडी (चयन ...) में से कैसे लिखूं?

SELECT Id, Name FROM TableA WHERE TableA.Id IN (SELECT xx from TableB INNER JOIN Table C....) 

तो सादे अंग्रेजी में, मैं TableA से ईद और नाम का चयन करने के जहां TableA के क्रमांक एक परिणाम के एक दूसरे क्वेरी से सेट में है चाहता हूँ।

उत्तर

9
from a in TableA 
where (from b in TableB 
     join c in TableC on b.id equals c.id 
     where .. select b.id) 
.Contains(a.Id) 
select new { a.Id, a.Name } 
1

LINQ में IN के लिए बॉक्स समर्थन से बाहर नहीं है। आपको 2 प्रश्नों में शामिल होने की आवश्यकता है।

4

LINQ शामिल के रूप में IN का समर्थन करता है। "आईडी इन (संग्रह)" के बजाय "संग्रह। (आईडी)" सोचें।

from a in TableA 
where (
    from b in TableB 
    join c in TableC 
     on b.id equals c.id 
    select b.id 
).Contains(TableA.Id) 
select new { a.Id, a.Name } 

यह ब्लॉग भी देखें post