我有以下课程:
internal class ModuleScrap
{
public System.DateTime ReadTime { get; set; }
public string ScrapReason { get; set; }
public Int16 NetScrap { get; set; }
}
我可以使用LINQ查询帮助检索一系列日期(这是简单部分),ScrapReason
上的组之间的所有行,并确定每个组的NetScrap
之和。我对LINQ中的分组没有多少经验。
答案 0 :(得分:7)
像我这样的东西,我怀疑:
var query = from scrap in scraps
where scrap.ReadTime >= minDate && scrap.ReadTime <= maxDate
group scrap by scrap.ScrapReason into g
select new { Reason = g.Key, Total = g.Sum(x => (int) x.NetScrap) };
请注意int
强制转换是因为Int16
未定义var query = from scrap in scraps
where scrap.ReadTime >= minDate && scrap.ReadTime <= maxDate
group (int) scrap.NetScrap by scrap.ScrapReason into g
select new { Reason = g.Key, Total = g.Sum() };
值。另一种方法是更改分组:
{{1}}
他们会给出相同的结果 - 这只是你喜欢的问题。