按日期降序分组,按时间升序排序的LINQ查询

3

我有以下模型:

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中是否可以实现这一点,还是必须在查询执行后(在结果列表上)执行此操作?


“Start”和“End”只是日期时间条目,例如用于可视化时间表。 - Marthijn
1个回答

6
你是指像这样吗?
IEnumerable<A> sorted = listOfA.OrderByDescending(a => a.Start.Date)
                               .ThenBy(a => a.Start.TimeOfDay);

谢谢,但是出现了以下错误:指定的类型成员“Date”在LINQ to Entities中不受支持。仅支持初始化程序、实体成员和实体导航属性。所以我把你的代码放在查询执行后,它就可以正常工作了 :) - Marthijn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接