c# - 至少一个对象必须实现 IComparable order by

标签 c# linq sql-order-by

如标题所述,使用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/

相关文章:

c# - LINQ:按聚合分组但仍然从最近的行中获取信息?

c# - C#/.NET 3.5 中的转换如何适用于具有 '?' 的类型

c# - Visual Studio express : free class diagram tool

c# - 使用 C# 在 Active Directory 中移动对象

c# - 为什么System.Timer不改变类成员变量?

linq - 根据另一个列表从列表条件中删除某些元素

Mysql GROUP BY 中的 LEFT JOIN 和 ORDER BY

sql - ORDER BY 在 Oracle 中使用串联名称?

mysql - 通过在 MariaDB 中显示不良结果来排序

c# - ASPxPageControl 从 javascript 切换选项卡