1
我有一個表有兩個可爲空的datetime列,ETA和ETD。一個人總是有價值的。我想按日期排序。因此,例如,如果ETA爲空,則使用ETD進行訂購。如果ETD爲空,則使用ETA,如果兩者都不爲空,則使用ETA(因爲它始終是第一個)。Linq OrderByDescending有兩個可爲空的日期列
我有這樣的:
var route = db.RouteJourney.Where(j => j.JourneyId == id).OrderByDescending(j => j.ETA ?? j.ETD);
我也試過這個(這是相同的):
var route = db.RouteJourney.Where(j => j.JourneyId == id).OrderByDescending(j => j.ETA.HasValue ? j.ETA : j.ETD);
我缺少的東西?我的小腦子說,如果ETA爲空,則使用ETD,然後下令,但不能給出正確的結果。
任何幫助表示讚賞。
編輯
我與這個越來越:
如果RouteJourney爲[名稱,路由ID(密鑰),JourneyId,ETA,ETD]
和值:
[停止A,1,1,null,10/03/13],[Stop B,4,1,12/03/13,13/03/13],[Stop C,2,1,14/03/13, null],[Stop D,3,1,16/03/13,null]
Ordered like this:
停止C 停止B 停止一個 停止d
謝謝...
謝謝,我已經嘗試過了,但它仍然生成相同的順序。我很困惑。 – user2083536 2013-03-06 12:52:19
請不理我...我很蠢。我沒有看到2012年的數據結構。謝謝您的幫助。 – user2083536 2013-03-06 13:24:33