如标题所述,使用order by
后发生错误。
按语句顺序看起来是这样的:
var fahrerGroups = dispoLinien.OrderBy(dl => dl.Linie.GetValidLinienVersionByDate(date).Fahrten.Select(f => f.Beginn)).GroupBy(dl => dl.GetValidDispolinienVersionByDate(date).Fahrer);
日期始终是当前日期。
我正在尝试按服务的开始时间进行排序。据我所知,错误发生了,因为我的声明返回了一个对象类型,而对象没有实现 IComparable。我不明白的一点是我正在尝试对日期时间而不是对象类型进行排序。
最佳答案
选择返回 IEnumerable
也许,您可以选择第一个元素来对列表进行排序。
我添加FirstOrDefault;
var fahrerGroups = dispoLinien
.OrderBy(dl => dl
.Linie
.GetValidLinienVersionByDate(date)
.Fahrten
.Select(f => f.Beginn)
.FirstOrDefault())
.GroupBy(dl => dl
.GetValidDispolinienVersionByDate(date)
.Fahrer);
关于c# - 至少一个对象必须实现 IComparable order by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40216222/