コレクションをグループ化する次の行があります。
group c by new { date = GetGroupingDateKey(DateRangeType, c.ReadDate), name = c.Name } into g
次の関数を使用して、グループ化の日付キーを取得します。
private static DateTime GetGroupingDateKey(MeterReadingsTimeIntervals DateRangeType, DateTime Date)
{
DateTime date = new DateTime();
switch (DateRangeType)
{
case MeterReadingsTimeIntervals.Hourly:
date = new DateTime(Date.Year, Date.Month, Date.Day, Date.Hour, 0, 0);
break;
case MeterReadingsTimeIntervals.Daily:
date = new DateTime(Date.Year, Date.Month, Date.Day, 0, 0, 0);
break;
case MeterReadingsTimeIntervals.Weekly:
// ???
break;
case MeterReadingsTimeIntervals.Monthly:
date = new DateTime(Date.Year, Date.Month, 1, 0, 0, 0);
break;
case MeterReadingsTimeIntervals.Yearly:
date = new DateTime(Date.Year, 1, 1, 0, 0, 0);
break;
}
return date;
}
しかし、週ごとのグループ化についてはわかりません(特定の日の間隔、10日、15日など)。毎週グループ化するにはどうすればよいですか? 別の方法でデータをグループ化する必要がありますか?
アドバイスありがとう。