Linq группа по месяцам - PullRequest
       1

Linq группа по месяцам

0 голосов
/ 14 сентября 2011

У меня есть таблица с полем даты и полем времени. Я хочу получить набор результатов, сгруппированных по месяцам и количеству записей, которые появляются в этом месяце.Как это можно сделать в LINQ?Примерно так.

Данные.

10/10 / 2011 00: 00: 10: 000 10/11/2011 00: 00: 20: 000 01.11.2011 00: 00: 10: 000 11.11.2011 00: 00: 40: 000

Я хочу получить

10/1/2011 00: 00: 30: 000 01.11.2011 00: 00: 50: 000

Спасибо за помощь.

Я пытаюсь что-то вроде этого.

var monthely = 
  from u in sqlDataContract.TimeTrickTables 
  group u by u.EntryDate.Value.Month into g 
  select new 
  { 
    EntryDate = g.Key, 
    ETime = g.Aggregate(TimeSpan.Zero, (subtotal, t) => subtotal.Add((TimeSpan)t.ETime)) 
  };

, но это исключение Оператор запроса "Aggregate"поддерживается

1 Ответ

5 голосов
/ 14 сентября 2011
from u in TimeTrickTables
group u by u.EntryDate.Value.Month into g
select new
{
    Month = g.Key,
    Count = g.Count(), //Nr. of records
    Time = new TimeSpan(g.Sum(x => x.ETime.Ticks)) //Total time
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...