使用linq进行分组和子分组

本文关键字:linq 使用 | 更新日期: 2023-09-27 18:27:28

我有一个成员为ProductIdCategoryIdCategoryNameDateLastModified的类T。我想实现的是创建一个匿名类型的新列表(在我看来,只是循环使用它),该列表首先在CategoryName上分组,然后通过DateLastModified.Year & DateLastModified.MonthCategoryNames进行分组

到目前为止,我有

var groupedList = list.GroupBy(x => new { x.CategoryName });

我的List<T> 在哪里

这是通过categoryName作为元素的关键字进行分组的,只是不确定下一步

提前感谢

使用linq进行分组和子分组

在这种情况下,您必须使用嵌套组,请尝试以下操作:-

 var query = from pro in products
                       group pro by pro.CategoryName into newGroup1
                       from newGroup2 in
                           (from prod in newGroup1
                            group prod by new { prod.DateLastModified.Year, prod.DateLastModified.Month } 
                           )
                       group newGroup2 by newGroup1.Key;

工作Fiddle。