2013-03-14 52 views
3

我有一個複雜的實體對象,我查詢的值是需要與通用列表進行比較以選擇正確的對象。我試圖找到一種方法來將實體對象中的Id值與列表中的所有值進行比較,而無需將查詢放入循環中。有沒有辦法將linq表達式中的多個值與通用列表進行比較?

這是我有:

泛型列表:

List<int> input = new List<int>() 
          { 
           3,4,5.... 
          }; 

我的查詢,不工作:

 ManagerToGetRepo mgr = new ManagerToGetRepo(); 
     var result = mgr.GetAllData() 
         .Where(a=>a.someObject.anotherObj.Id == input.Values); 

回答

5

只需使用List<T>.Contains方法,看看每個值是在集合

var result = mgr.GetAllData() 
       .Where(a => input.Contains(a.someObject.anotherObj.Id)); 
+0

啊,非常感謝! – Rayshawn 2013-03-14 15:59:03

+0

我沒有想過你可以用linq的方式來做到這一點,非常感謝。 – Rayshawn 2013-03-14 16:00:20

相關問題