2017-10-13 93 views
0

正確排序我有一個簡單的LINQ查詢這種種基於日期時間都下降和上升的記錄。由於某種原因,它在13:00:00失敗。LINQ排序依據查詢失敗由降日期時間

sortedrecords = sortedrecords.OrderByDescending(x => x.DateTime).ThenBy(x=>x.Time); 

它應該排序2PM,1PM,12PM。但是,下午1點的記錄就到了最後。

是不是有什麼毛病我查詢?任何建議都會有幫助。

感謝

排序按降序(失敗)

2017年10月12日下午2時00分56秒
2017年10月12日下午2時00分50秒
2017年10月12日下午12時29分41秒
2017年10月12日下午12時28分32秒
2017年10月12日下午12時27分35秒
2017年10月12日上午11時21分35秒
10/12/2017 11:14:16 AM
10/12/2017下午一時49分28秒
二○一七年十月一十二日下午1時43分23秒

順序按升序(正確)

二○一七年十月一十二日下午12點27分35秒
12分之10/ 2017下午12點28分32秒
2017年10月12日下午十二時29分41秒
2017年10月12日下午1點43分23秒
2017年10月12日下午一點49分28秒
10 /二千零十七分之十二下午二點零零分50秒
2017年10月12日下午2點零零分56秒

+2

什麼是'xDateTime'和'x.Time'屬性?請顯示'sortedrecords'對象的類是什麼樣的。 – Sach

+0

嘗試'OrderByDescending(X => x.DateTime.Date).ThenBy(X => x.Time);' –

+0

@sach日期時間屬性是這樣的2017年10月12日下午12點23分28秒。我甚至試過這sortrecords = sortedrecords.OrderByDescending(x => x.DateTime); –

回答

0

既然你沒有具體說明你的對象類型,你的列類型,你的數據庫(假設你正在使用它),你爲什麼使用.Net類類型名作爲列名等等。我假定你正在處理匿名對象a List

sortedrecords = sortedrecords.OrderByDescending(x => DataTime.Parse(x.DateTime));