在实体框架中按一对多FK排序

时间:2019-11-28 21:15:01

标签: c# entity-framework

我有一个带有列表的类,该列表存储事件的日期列表,我需要查询事件列表并按日期排序,如何在Entity Framework中实现此目的。

这是我的主要课程

log.output

我需要查询该课程中可用的日期

public class UserEv
{
    public string title { get; set; }
    public virtual List<Dates> dates { get; set; }
}

我需要在开始日期之前对从查询中获得的结果进行排序。如何在EF中实现此功能。这是当前用于从db获取数据的查询,在订购时遇到了麻烦。

public class Dates
{
    public DateTime start { get; set; }
    public DateTime end { get; set; }
}

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:3)

假设这可行:

db.UserEv.Where(l=> l.dates.Any(a => a.start>= (start)))
     .Where(l=> l.dates.Any(b => b.end<= (end)))

要按最早的开始日期进行排序:

.OrderBy(l => l.Dates.Min(d => d.start));