Linq to sql:按datetime desc排序,然后按数据asc的时间排序?
问题描述:
这是一个快速的。
在LINQ to sql中,我需要通过一个日期时间字段来降序,然后按相同日期时间部分的顺序递增递增,有道理吗?下面是所需要的结果的一个例子:
[串行] [日期(MM-DD-YYYY:HH-MM-SS)]
1 2008年3月13日:02年10月10日
2月3日至13日-2008:60年10月12日
3 2008年3月12日:55年12月5日
Linq to sql:按datetime desc排序,然后按数据asc的时间排序?
我想:
return query.OrderByDescending(c=> c.Time).ThenBy(c=> c.Time.TimeOfDay);
和ALS Ø尝试:
query.OrderByDescending(c => c.Time).ThenBy(c => c.Time.Hour).ThenBy(c=> c.Time.Minute).ThenBy(c=> c.Time.Second);
,但似乎从来没有工作。 有什么建议吗?
答
使用Date
和TimeOfDay
属性进行排序。
return query
.OrderByDescending(c=> c.Time.Date)
.ThenBy(c=> c.Time.TimeOfDay);
答
问题是“时间”包含日期和时间信息,因此,已经完全排序。你将不得不采取日期部分先排序。
return query.OrderByDescending(c=> c.Time.Date).ThenBy(c=> c.Time.TimeOfDay);
没有测试:)
答
我觉得首先orderByDescending排序按日期时间(日期+时间)的一切,所以只有当你有相同的时间戳的任何记录以下orderbys生效。
试试这个
query.OrderByDescending(c=> c.Time.Date).ThenBy(c=> c.Time.TimeOfDay)
答
把它转化为蜱也能发挥作用:
return query.OrderByDescending(c=> c.Time.Ticks)
噢耶同时回答再次 – thmshd 2011-03-28 20:47:49
第一工作答案!优胜者!谢谢你,兄弟。 – Galilyou 2011-03-28 21:10:41