चतुर मानव द्वारा अभिव्यक्ति श्रृंखला वाक्यविन्यास उत्तर का विस्तार करने के लिए :
यदि आप दोनों तालिकाओं से फ़ील्ड पर चीज़ें (जैसे फ़िल्टर या सेलेक्ट) करना चाहते थे, तो एक साथ जुड़ने के बजाय - उन दो तालिकाओं में से एक पर - आप अंतिम पैरामीटर के लैम्बडा एक्सप्रेशन में एक नया ऑब्जेक्ट बना सकते हैं जॉइन मेथड उदाहरण के लिए, उन दोनों तालिकाओं को शामिल करना:
var dealerInfo = DealerContact.Join(Dealer,
dc => dc.DealerId,
d => d.DealerId,
(dc, d) => new { DealerContact = dc, Dealer = d })
.Where(dc_d => dc_d.Dealer.FirstName == "Glenn"
&& dc_d.DealerContact.City == "Chicago")
.Select(dc_d => new {
dc_d.Dealer.DealerID,
dc_d.Dealer.FirstName,
dc_d.Dealer.LastName,
dc_d.DealerContact.City,
dc_d.DealerContact.State });
दिलचस्प हिस्सा उस उदाहरण की पंक्ति 4 में लंबोदर अभिव्यक्ति है:
(dc, d) => new { DealerContact = dc, Dealer = d }
... जहां हम एक नई अनाम-प्रकार की वस्तु का निर्माण करते हैं, जिसमें डीलरकॉन्टैक्ट और डीलर रिकॉर्ड के साथ-साथ उनके सभी क्षेत्रों के गुण होते हैं।
फिर हम उन रिकॉर्ड्स से फ़ील्ड्स का उपयोग कर सकते हैं जब हम फ़िल्टर करते हैं और परिणामों का चयन करते हैं, जैसा कि शेष उदाहरण द्वारा दर्शाया गया है, जो dc_d
कि हमारे द्वारा बनाए गए अनाम ऑब्जेक्ट के लिए एक नाम के रूप में उपयोग करता है जिसमें डीलरकॉन्टैक्ट और डीलर रिकॉर्ड दोनों इसके गुण हैं।