LINQ按日期降序排列,按时间升序排列

本文关键字:排列 时间 升序 降序 日期 LINQ | 更新日期: 2023-09-27 18:19:41

我有以下模型:

public class A
{
  public int? Id {get;set;}
  public DateTime Start {get;set;}
  public DateTime End {get;set;}
}

现在,我想按日期对所有条目进行分组,并按日期降序排序,按时间升序排序(使用LINQ)。示例输出:

Jan 3. 2012
-- 10:00-11:00
-- 11:00-13:00
Jan 2. 2012
-- 10:00-11:00
-- 12:00-15:00
Jan 1. 2012
-- 9:00-10:00
-- 12:00-13:00

有可能在LINQ to SQL中实现这一点吗?或者在查询执行后(在结果列表上)我必须这样做吗?

LINQ按日期降序排列,按时间升序排列

你是这样说的吗?

IEnumerable<A> sorted = listOfA.OrderByDescending(a => a.Start.Date)
                               .ThenBy(a => a.Start.TimeOfDay);