LINQ组按日期递减,并按时间递增

时间:2012-01-06 12:34:54

标签: c# linq entity-framework linq-to-sql

我有以下型号:

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中实现此功能,或者在查询执行后(在结果列表中)是否必须执行此操作?

1 个答案:

答案 0 :(得分:6)

你的意思是这样吗?

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