如何在联接和分组后排序

本文关键字:排序 | 更新日期: 2023-09-27 18:31:53

如何在加入和分组后排序?如何按字段ps.end排序?

var query =
    from p in _productRepository.Table
    join ps in _productScheduleRepository.Table on p.Id equals ps.ProductId
    where p.Published &&
    !p.Deleted &&
    p.ShowOnHomePage &&
    !ps.IsUsage && ps.Start <= DateTime.Now && ps.End >= DateTime.Now
    group p by p.Id into Grouped
    select Grouped.FirstOrDefault();

如何在联接和分组后排序

要对组中的项目进行排序,只需调用 OrderBy

var query = from p in _productRepository.Table
    join ps in _productScheduleRepository.Table on p.Id equals ps.ProductId
    where ...
    group new{ p, ps } by p.Id into Grouped
    select Grouped.OrderBy(pair => pair.ps.end).FirstOrDefault().p;