考虑到底部的代码,这是我的问题:
我希望能够根据输入对收入进行分组,例如: - 年 - 月 - 周 - 单位 等。
我是否需要为每个组合创建一个var(并相应地更改Group),或者我可以创建一个变量Group灵活的组合。这意味着我可以在LocationRevenue
级别获得input
,例如:周,月或年;或年+月,周+月或任何其他组合。
var locationRevenues = revenues
.GroupBy(g => new { Location = g.Location, Month = DateTimeHelper.GetMonth(g.Date)})
.Select(r => new
{
Location = r.Key,
RevenueTotal = r.Sum(i => i.RevenueAmount),
})
.ToList();
答案 0 :(得分:-1)
每次添加新的groupBy
选择groupby
内部条款并按Ctrl + R + M
并生成新方法。您可以将其作为参数传递。
Do(Func<TSource, TKey>)
var locationRevenues = revenues
.GroupBy(Func())
.Select(r => new
{
Location = r.Key,
RevenueTotal = r.Sum(i => i.RevenueAmount),
})
.ToList();
private static Func<Revenues, object> Func()
{
return g => new { Location = g.Location, Month = 9 };
}