2012-01-30 12 views
6

मेरे पास जटिल वस्तुओं की एक मास्टर सूची है।लिंक सूची मास्टर सूची का सब्सक्राइब करें

मेरे पास int आईडी की एक सूची है जिसे मुझे मास्टर सूची से संबंधित जटिल वस्तु का चयन करने की आवश्यकता है।

यह काम नहीं करता

MasterListofComplexObj.Where(u => MasterListofComplexObj.Select(i => i.Id).Contains(ChildListofIntIds)); 

किसी भी मदद की सराहना की जाएगी।

+0

क्या आपको कोई त्रुटि मिल रही है? या गलत परिणाम? क्या आप कुछ इनपुट मान और आउटपुट की उम्मीद कर सकते हैं? –

उत्तर

20

यह काम करना चाहिए:

var results = MasterListofComplexObj.Where(u => ChildListofIntIds.Contains(u.Id)); 
+0

आप अंदर हैं .... मदद के लिए धन्यवाद। मेरे दिमाग में तर्क एक प्रकार का उलट है, आप बच्चे की सूची लेते हैं और देखते हैं कि इसमें आपकी आईडी है जिसमें आप मास्ट सूची से चयन कर रहे हैं। धन्यवाद फिर से – jim

+0

हां वाक्यविन्यास वह नहीं है जिसे आप सहजता से उम्मीद करेंगे - लेकिन चूंकि आप प्रत्येक 'ComplexObj' को एक-एक करके देख रहे हैं, यह समझ में आता है – BrokenGlass

1
var results = from obj in MasterListofComplexObj 
    where ChildListofIntIds.Contains(obj.Id) 
    select obj; 

यह एक IEnumerable है। आप एक ऑब्जेक्ट प्राप्त करने के लिए .FirstOrDefault() चाहते हैं।

MasterListofComplexObj.Where (मद => ChildListofIntIds.Contains (item.Id))

कोई आवश्यक चयन करें जब आप वस्तु ही है और न अपनी संपत्ति में से एक चाहते हैं कि अनुवाद करता है।

1

दूसरे अधिक सामान्य बात में शामिल हों किया जाएगा देखने के लिए: -> टुकड़ा होता है की तुलना में कहाँ

var results = MasterList.Join(ChildList, (m => m.Id), (c => c), ((m,c) => m)); 

मुझे विश्वास है, लेकिन प्रशस्ति पत्र या साथ का बैक अप नहीं कर सकते प्रयोगात्मक डेटा, कि जुड़ें तेजी से होगा ।

संबंधित मुद्दे