LINQ - Group By multiple keys 没有给出预期的结果

LINQ - Group By multiple keys not giving desired results

我正在尝试使用 Linq 按多个键进行分组。

我有一个类别 ID 和一个与之关联的类型 ID,然后是一个与类型 ID 关联的项目列表。

正如您从我的结果中看到的,它们没有被分组。

这是我正在使用的查询:

Dim uploads = items.GroupBy(Function(g) New With {g.CategoryId, g.TypeId}) _
                                       .OrderBy(Function(g) g.Key.CategoryId) _
                                       .ThenBy(Function(g) g.Key.TypeId) _
                                       .Select(Function(g) New UploadListItemViewModel With {
                                            .CategoryId = g.Key.CategoryId,
                                            .TypeId = g.Key.TypeId,
                                            .Uploads = g.ToList()
                                        })

这是结果视图

例如对于 Category 1 / Type 8 ,上传计数应为 3

对于我做错的任何帮助将不胜感激。

组选择器中缺少 Key 关键字。

最终固定码为

Dim uploads = items.GroupBy(Function(x) New With {Key x.CategoryId, Key x.TypeId}) _
                                       .OrderBy(Function(x) x.Key.CategoryId) _
                                       .ThenBy(Function(x) x.Key.TypeId) _
                                       .Select(Function(g) New SKUProductUploadListItemViewModel With {
                                            .CategoryId = g.Key.CategoryId,
                                            .TypeId = g.Key.TypeId,
                                            .Uploads = g.ToList()
                                        })