2013-08-14 11 views
12

की सूची में आईडी फ़िल्टर करने के लिए लिंक पूछताछ मेरे पास परिणाम सूची की एक सूची है जहां इसमें इसके अंदर सूची है। मेरे पास एक और सूची है जहां इसमें अकेले सूची है। मैं डेटा से एक linq क्वेरी का उपयोग करके फ़िल्टर करना चाहता हूं जहां इसे दूसरी सूची से कौशल आईडी युक्त सभी डेटा वापस करना चाहिए।सूची सी #

var list = this._viewModel.Data.Select(T => T.SkillsList); 
var filtered = item.Skills.Contains(list.Where(t=>t.ToString()).ToList(); 

पहली सूची में इसमें कौशल सूची के अंदर दशमलव की सूची शामिल है; आइटम। स्किल्स में ऐसी सूची होती है जहां फ़ील्ड कुशल और कोड होते हैं। आइटम एक और ऑब्जेक्ट है जिसमें कौशलिस्ट शामिल है।

+0

आप क्या चाहते हैं? क्या? – phillip

+0

मैं डेटा से एक linq क्वेरी का उपयोग करके फ़िल्टर करना चाहता हूं जहां उसे सभी डेटा wchich को दूसरी सूची से कौशल आईडी शामिल करना चाहिए। – Sajeetharan

+0

ठीक है यह आसान है ... 1 सेकंड – phillip

उत्तर

18

यदि कौशल आईडी एक चर है और यह मानते हुए कि स्किल्सलिस्ट में आईडी नामक एक संपत्ति है। फिर निम्नलिखित आपको कोई भी डेटा प्राप्त करने में काम करेगा जिसमें निर्दिष्ट कौशल आईडी है।

var list = this._viewModel.Data.Where(t=>t.SkillsList.Any(s=>s.Id == skillId)); 

यदि स्किल्सलिस्ट केवल पूर्णांक की एक सरणी है तो निम्नलिखित काम करेंगे।

var list = this._viewModel.Data.Where(t=>t.SkillsList.Any(s=> s == skillId)); 

अब यदि आप किसी सूची के विरुद्ध जांच कर रहे हैं तो निम्नलिखित कार्य करेगा।

var list = this._viewModel.Data.Where(t=>t.SkillsList.Any(s=> skillsList.contains(s)); 
+0

मुझे नहीं लगता कि यह है ... कोई भी? मैं गलत हो सकता हूं लेकिन क्या आप क्वेरी के साथ डेटा दिखा सकते हैं? – phillip

+0

वास्तव में यह मेरे लिए सही लगता है ... क्षमा करें – phillip

+0

यह मेरे लिए काम नहीं कर रहा है –

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