【发布时间】:2019-09-06 12:31:04
【问题描述】:
下面是我的代码,我想按时间顺序查看约会,如降序但升序:
无法做到这一点,谁能帮帮我
列出约会 = _diagnosticRepo.GetFacilityAppointmentsReportVersion(FacilityID).Where(x => x.Status != AppointmentRescheduledID) .ToList();
我想按时间顺序查看约会,如降序但升序,约会日期是日期变量,时间是时间变量,那么我该如何实现这一点
例如。如果在同一日期进行了不同时间的约会,那么约会顺序的时间应该是升序的
*约会 1 06-07-2019 10:00Am *预约 2 06-07-2019 上午 11:00 *预约 3 05-07-2019 10:00 pm
【问题讨论】:
-
你描述的不是降序。 6 @ 10 am,6 @ 11 am(上升),5 @ 10 pm(下降)。您只能通过真实订单订购,因此 6-11、6-10,5-10 或 5-10,6-10,6-11
-
您要求的不是时间顺序。这是基于同一字段的两个不同订单。在 SQL 中,您必须分别提取日期和时间部分并按每个部分排序,即
ORDER BY cast(appointmentDT as date) desc, cast(appointmentDT as time) asc -
以
DateTime.Date为降序,DateTime.TimeOfDay为升序 -
.OrderByDescending(x => x.AppointmentDateTime.Date).ThenBy(x => x.AppointmentDateTime.TimeOfDay)也许? -
如果您想要不同的订购方向,您可能应该分别存储日期和时间并将它们编入索引。这也将使按日期过滤更快
标签: c# .net asp.net-mvc linq