【发布时间】:2016-06-15 05:18:43
【问题描述】:
正如标题所说,我必须按年龄和性别分组,但我收到以下错误消息:
至少一个对象必须实现 IComparable
var ageStats = vModel
.GroupBy(l => new { Age = 10 * (l.Age / 10), l.GenderName })
.OrderBy(x => x.Key)
.Select(g => new
{
Name = g.Key,
Count = g.Select(l => l.Age).Count()
})
.ToList();
如果我只按年龄分组,它会工作.GroupBy(l => 10 * (l.Age / 10)),但我不会有性别。
【问题讨论】:
-
GenderName的类型是什么? -
GenderName的类型是字符串
-
你试过用元组代替匿名对象吗?
-
@Luiso Tuples 几乎总是一个坏主意,只需创建一个类,尤其是看起来 OP 将按原样使用结果。
-
@KennethK。我同意你的观点,但是如果在方法中使用了该查询,并且你知道自己在做什么,他们可以节省一些时间并且不得不实现一个几乎没用的类
标签: c# asp.net-mvc linq-to-sql