我不知道如何正确表达这个问题,但我有:
var groups = data.GroupBy(x => new {x.EntityId, x.StartLocal = new {
var stamp = x.StartLocal;
stamp = stamp.AddHours(-(stamp.Hour % hours));
stamp = stamp.AddMinutes(-stamp.Minute);
stamp = stamp.AddMilliseconds(-stamp.Millisecond);
return stamp;
}})
.Select(...)
.ToList();
这不起作用(语法错误)。我首先想按entityId
一个字段的小时StartLocal
进行分组,就像我每 2 小时对结果进行分组一样,我会得到:
Id = 1
Hour = 2
Hour = 4
Id = 2
Hour = 2
...
像这样。
我需要填写的内容:
DO obj = new DO
{
EntityId = pp.EntityId,
EntityCode = pp.EntityCode,
StartLocal = pp.StartLocal,
Volume = pp.Volume,
};
这Volume
是需要汇总的内容。所以基本上 1000 个这些 DO 以数组的形式出现,然后它们被 EntityId 分割,然后被 StartLocal 的小时数分割……体积被聚合了 x 小时的价值,并且创建了相同的 DO……但现在很多少一些。