Нужно в массиве данных получить суммарное значение по полю разделенных по группам.
Пример:
IEnumerable
Нужно пройти по массиву Issue, сгруппировать данные по member и для каждой группы сосчитать суммарное значение hours
Пытался следующим образом:
issues
.Where(w => w.Member != null)
.Group(g => g.Member)
.Select(s => {
s.Key
// Здесь могу получить только ключ, а как получить данные и дальше их начать суммировать?
});
По окончанию выборка должна содержать пару значений .
Ответ
Группировка поддерживает итерирование по ней, поэтому можно просто вызвать метод Sum()
var data = issues
.Where(m => m != null)
.Group(g => g.Member)
.Select(s => new { s.Key, Sum = s.Sum(i => i.hours) });
// или .Select(s => Tuple.Create(s.Key, s.Sum(i => i.hours)));
data будет содержать список объектов с ключом группировки и значением суммы для каждой группировки.
Комментариев нет:
Отправить комментарий