【发布时间】:2013-06-08 01:26:37
【问题描述】:
我的 Linq 查询有问题。我有一个格式如下的查询,它返回一个按顶级分组并按字母顺序排列的顶级字符串的结果集。我想返回一个按顶级字符串排序的结果集(因此 group by 子句按字母顺序排序)和子级别字符串也按字母顺序排列(因此每个子组也按字母顺序排列)。我期待的是如下内容:
- 一个
- 一个
- B
- C
- 乙
- 一个
- B
- C
我的查询类似于以下内容:
records.results
.Where(table => string.Compare(table, expected) == 0)
.OrderByDescending(table => table.name)
.GroupBy(table => table.name);
.OrderBy(group => group.Key);
我希望 OrderByDescending 语句能够更改 groupby 子句中各个记录的顺序,但它不会产生任何影响。不过,我收到了组的有序结果。任何帮助表示赞赏!
【问题讨论】:
-
我猜
.OrderBy(group => group.Key);应该是.Select(g=>g.OrderBy(x=>x.SomeProp)) -
您的结果是这样,但预期结果如何?
-
我的结果类似于 A - A C B、B - C B A、C - A B C 等。以上是我所期待的。