[英]Ordering in Linq to Entities Multiple Columns
我在SQL Server中有一個表,其中包含以下列
我想按日期和時間訂購數據,然后按DayOfWeek和Time訂購數據。 因此,所有帶日期的記錄都顯示在頂部,按時間排序,然后是按時間排序的DayOfWeek。
我已經嘗試了幾種方法,但只是無法理解它,我有以下代碼
var qry = ctx.DestinationTimings.Where(x => x.DestinationID == this.ID)
.OrderBy(t => t.Date).ThenBy(t => t.Date != null)
.ThenBy(t => SqlFunctions.CharIndex(t.DayOfWeek + ",", "MON,TUE,WED,THU,FRI,SAT,SUN"))
.ThenBy(t => t.Time);
如果Date
為空,你可以這樣做:
var qry = ctx.DestinationTimings.Where(x => x.DestinationID == this.ID)
.OrderBy(t => t.Date ?? DateTime.MaxValue)
.ThenBy(t => SqlFunctions.CharIndex(t.DayOfWeek + ",", "MON,TUE,WED,THU,FRI,SAT,SUN"))
.ThenBy(t => t.Time);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.