【发布时间】:2012-12-06 14:34:31
【问题描述】:
我在 SQL Server 中有一个包含以下列的表
- ID(身份/主键)
- DestinationID(外键)
- 日期(日期字段)
- 时间(时间场)
- DayOfWeek(Char(3) 字段)即“MON”、“TUE”等。
我想按日期和时间排序数据,然后按 DayOfWeek 和时间排序。因此,所有带日期的记录都显示在顶部,并按时间排序,然后是 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);
【问题讨论】:
-
使用Select方法(msdn.microsoft.com/en-us/library/…)
-
我确实研究了 select 方法,但我认为它会有点过头,我倾向于它会很简单
-
@Kiquenet
SqlFunctions.CharIndex将返回在另一个表达式中找到的值的位置。 msdn.microsoft.com/en-us/library/…
标签: c# entity-framework linq-to-entities