尝试通过处理复杂查询来获得订单

trying to get a orderby working on complex query

我无法弄清楚 where/how 在此查询中放置 orderby。 我需要按字段分支排序的查询(来自 Driver_Detail.assigned_area_name.

我已经在多个地方以多种方式尝试过,但都被忽略了。

var stopsList = (from s in context.Mobile_Stops
                             join d in context.Driver_Detail on s.driver_number equals d.driver_number
                             where EntityFunctions.TruncateTime(s.requested_delivery_dateTime) == dateToUse.Date
                             group new { s, d } by new { s.driver_number } into g 
                             select new DriverDaySummary
                             {
                                 driver_Number = g.FirstOrDefault().d.driver_number,// d.driver_number,
                                 driver_Name = g.FirstOrDefault().d.first_name,
                                 branch = g.FirstOrDefault().d.assigned_area_name,
                                 Total_Stop_Count = g.ToList().Select(x => x.s).Count(),
                                 Delivered_Stops = g.ToList().Select(x => x.s).Where(x => x.status == 30).Count(),
                                 Exceptoined_Stops = g.ToList().Select(x => x.s).Where(x => x.status == 40).Count(),
                                 Open_Stops = (g.ToList().Select(x => x.s).Count() - (g.ToList().Select(x => x.s).Where(x => x.status == 30).Count() + g.ToList().Select(x => x.s).Where(x => x.status == 40).Count())),
                                 
                             }).Distinct().ToList();

只需按 branch 排序,因为按 assigned_area_name 排序在这里是不可能的,因为您按 driver_number 分组并先取 assigned_area_name 您可以添加 OrderBy 就在 Distinct.

之后

Selvin在评论中提供了答案