2013-08-22 23 views
11

私はさまざまな従業員の労働記録を含むタイプIEnumerable<Objects.LabourHours>のデータコレクションを持っています。リストをフィルタリングし、選択した従業員のレコードのみを返します。int[] employeesのリストはEmployeeIDです。Linqすべての商品を選択してください

class LabourHours 
{ 
    public int ID {get;set;} 
    public int EmployeeID {get;set;} 
    public int HoursWorked {get;set;} 
} 

どうすればよいですか?私はこれが以前に尋ねられたと確信していますが、私はここで同様のものを見つけることができません。私が見つけた最も近いものは、私が必要とするものではないUserIDによるレコードのグループ化です。実際のレコードが必要です。

答えて

17

あなたはContainsメソッドを使用してLINQ Whereであなたのリストをフィルタリングすることができます

var result = list.Where(x => employees.Contains(x.EmployeeID)); 
+0

うーんとても簡単!私がオンラインで見つけたすべてのソリューションは、.All()と.Any()を組み合わせたもので、個々のアイテムではなくグループ化された戻り値になりました。それはちょうど私ですか、これは他のすべてのLinq操作と比較して、間違った方法ですか? –

+0

@GavinCoates:間違ったやり方ではなく、複雑ではないと思う –

関連する問題