c# - 在实体框架中按一对多 FK 排序
问题描述
我有一个类,其中包含一个存储事件日期列表的列表,我需要查询事件列表并按日期对它们进行排序,如何在实体框架中实现这一点。
这是我的主要课程
public class UserEv
{
public string title { get; set; }
public virtual List<Dates> dates { get; set; }
}
我需要查询此类中可用的日期
public class Dates
{
public DateTime start { get; set; }
public DateTime end { get; set; }
}
我需要在开始日期之前订购从查询中获得的结果。我怎样才能在 EF 中实现这一点。这是我用来从数据库中获取数据的当前查询,我在订购部分遇到了麻烦。
db.UserEv.Where(l=> l.dates.Any(a => a.start>= (start)))
.Where(l=> l.dates.Any(b => b.end<= (end)))
任何帮助都会很棒。
解决方案
假设这有效:
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));
推荐阅读
- c# - WPF动态添加样式触发器
- sql - 如果没有数据,则根据两个表中的两列的值选择一个新列,如果没有数据,则为 null
- amazon-web-services - Amazon S3 存储数百万个文件
- linkedin - LinkedIn 分享文章引发了一些错误异常
- redux - 使用 createSlice reduxtoolkit 进行重构
- google-apps-script - 如何通过脚本检索 Google 表格的最后一行(无论是否为空)?
- python - PyTorch 1D CNN 问题
- azure - JobManagerTask 的 Azure Batch 和用例
- flutter - Flutter 页面来得太慢了。当它包含长数据时
- python - python只读取pdf表格的几行