2011-10-27 76 views
6

我有一個IEnumerable,其中包含帶有ID的對象列表。我想選擇ID爲1,2,7,8,9,10和11的那些對象。我不知道相當於SQL語句的LINQ/Lambda等價物(select * where id in(1,2, 7,8,9,10,11))。LINQ/Lambda等效於SQL

我想是這樣的:

var movieratings = new int[] {1, 2, 7, 8, 9, 10, 11}; 
list.ratings= list.ratings.Select(x => movieratings.Contains(x.Value)); 

但是,這給了我一個編譯錯誤好像是說的類型參數不能從使用推斷。

回答

12

如果你過濾你需要做的是在where子句中沒有SELECT子句

var movieratings = new int[] {1, 2, 7, 8, 9, 10, 11}; 
list.ratings = list.ratings.Where(x => movieratings.Contains(x.Value));