Linq:使用点表示法按多个字段分组

时间:2010-12-10 05:28:15

标签: c# linq

我有一个很好的linq查询,目前正在给我我需要的东西,在这种情况下是列表<>按日期分组的对象,但是我还需要按ID字段分组,并且想知道如何将语法更改为按另一个字段分组。我尝试了多种方法,但似乎无法解决它,所以它仍然返回一个列表列表<>按entrydate和ID字段分组的对象。

这是当前的代码

var grouped = sales.SalesList.Where(s => !s.Ignore).GroupBy(s => s.EntryDate).Select(grp => grp.ToList()).ToList();

foreach (List<Sale> saleslist in grouped)
{

}

提前致谢。

1 个答案:

答案 0 :(得分:5)

执行此操作的一种好方法是通过匿名类型对倍数进行分组:

var grouped = list.GroupBy(x => new { x.a, x.b, x.c });