2013-08-14 10 views
12

結果のリストがあります。リストの中にリストがあります。リストだけが含まれている別のリストがあります。データからlinqクエリを使用してフィルタリングしたい2番目のリストからスキルIDを含むすべてのデータを返す必要があります。リストのリスト内のIDをフィルタリングするLinqクエリ#

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

最初のリストに含まれていますスキルリスト内の小数点以下のリスト。 item.Skillsには​​、フィールドがスキルとコードであるリストが含まれています。 itemはスキルリストを含む別のオブジェクトです。

+0

何が欲しいですか?何? – phillip

+0

2番目のリストからスキルIDを含むすべてのデータを返す必要があるデータからlinqクエリを使用してフィルタリングしたい。 – Sajeetharan

+0

これは簡単です... 1秒 – phillip

答えて

18

skillIdが変数で、SkillsListにIdというプロパティが含まれているとすると、次に、指定されたskillIdを持つデータを取得する際に、次のように動作します。

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

Skillslistが整数の配列だけであれば、次のように動作します。

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

これは私のために働いていません –