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

Mar*_*ijn 3 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;}
}
Run Code Online (Sandbox Code Playgroud)

现在我想按日期对所有条目进行分组,并按降序每个日期对它们进行排序,并按升序排序(使用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
Run Code Online (Sandbox Code Playgroud)

是否有可能在LINQ-to-SQL中实现这一点,或者在执行查询后(在结果列表中)是否必须执行此操作?

Ray*_*Ray 6

你的意思是这样的?

IEnumerable<A> sorted = listOfA.OrderByDescending(a => a.Start.Date)
                               .ThenBy(a => a.Start.TimeOfDay);
Run Code Online (Sandbox Code Playgroud)