求问linq分组统计求和报错!请问分组后怎么再多条件查询和分页
varquery=(fromoincontext.spg_daily_yieldwhereo.date==param.dategroupobynew{o.name,o.e...
var query = (from o in context.spg_daily_yield
where o.date == param.date
group o by new { o.name, o.eamil,o.sex}
into g
select new UserEntity()
{
name= g.Select(k => k.name).First(),
eamil= g.Select(k => k.eamil).First(),
sex= g.Select(k => k.sex).First(),
number= g.Sum(k => k.number),
});
return query.ToList();
以上分组报错:
The method 'First' can only be used as a final query operation. Consider using the method 'FirstOrDefault' in this instance instead.
方法的“第一次”只能作为最后的查询操作。考虑使用方法“FirstOrDefault”在这个实例中。
附带问题
如果上面的分组正确了,我可以这样进行二次筛选吗?
if ((!string.IsNullOrEmpty(param.name)))
{
query = query.Where(ct => ct.name.Contains(param.name));
}
如果上面的分组正确了我还可以直接这样分页吗?
query.Skip((param.PageId - 1) * param.PageCount).Take(param.PageCount).ToList(); 展开
where o.date == param.date
group o by new { o.name, o.eamil,o.sex}
into g
select new UserEntity()
{
name= g.Select(k => k.name).First(),
eamil= g.Select(k => k.eamil).First(),
sex= g.Select(k => k.sex).First(),
number= g.Sum(k => k.number),
});
return query.ToList();
以上分组报错:
The method 'First' can only be used as a final query operation. Consider using the method 'FirstOrDefault' in this instance instead.
方法的“第一次”只能作为最后的查询操作。考虑使用方法“FirstOrDefault”在这个实例中。
附带问题
如果上面的分组正确了,我可以这样进行二次筛选吗?
if ((!string.IsNullOrEmpty(param.name)))
{
query = query.Where(ct => ct.name.Contains(param.name));
}
如果上面的分组正确了我还可以直接这样分页吗?
query.Skip((param.PageId - 1) * param.PageCount).Take(param.PageCount).ToList(); 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询