私はx回以上病気である従業員のリストを持っています。あなたはどうやってそれをしますか?linqを使用してカウントする方法(結果はIQueryableでなければなりません)?
例:
EMPID、名前、日付
1、ジョン、2016年1月4日
2、ピーター、2016年1月7日
3、マックス、2016年1月14日
図5に示すように、ジャック、2016年1月22日
1、ジョン、2016年2月2日
3、マックス、2016年2月9日
2、ピーター、2016年2月14日
3、マックス、3/1/2016
1、John、3/4/2016
4、Simon、3/9/2016
3回以上病気の人。
結果は以下:
EMPID、名前、日付
1、ジョン、2016年1月4日
3、マックス、2016年2月9日
SQL
select EmpId, count(MyId) from MyTable group by EmpId
CODE
private IQueryable<MyTable> MyQuery(SelectParams selectParams)
{
query = db.MyTables.Where(mt => mt.Active);
if (selectParams.MinXIll > 0)
query = query.GroupBy(sb => sb.EmpId).Where(sb => sb.Count() >= selectParams.MinXIll);
return query;
}
をお試しくださいそれは 'mt.Active'ですか?投稿されたコードでは、全体の価値組織を把握することが難しいと感じています –
カウントをIQuerableにすることはできません。 Count(int)またはIQuerableにするか、リストまたは配列に変換するだけです – llouk