5
我在SQL Server中的表有以下幾列排序在LINQ到實體多列
- ID(身份/主鍵)
- 目標-ID(外鍵)
- 日期(日期字段)
- 時間(時間域)
- DAYOFWEEK(CHAR(3)場),即 「MON」, 「TUE」 等。
我想按日期和時間排序數據,然後按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);
使用選擇方法(http://msdn.microsoft.com/en-us/library/system.linq.enumerable.select.aspx) –
我確實看過select方法,但我認爲它會有點超過頂部,我有一個傾斜,這將是簡單的事情 – Valeklosse
@Kiquenet'SqlFu nctions.CharIndex'將返回在另一個表達式中找到的值的位置。 https://msdn.microsoft.com/en-us/library/system.data.objects.sqlclient.sqlfunctions.charindex(v=vs.110).aspx – Valeklosse