根据日期筛选结果并获取一个前一个值
本文关键字:一个 获取 日期 筛选 结果 | 更新日期: 2023-09-27 18:17:21
我有一个IDbSet
,我正在查询如下:
var list = MessageSet.Where(x => x.Date >= fromDate && x.Date <= toDate);
后来我做其他LINQ查询,如Select
, OrderBy
等。
为了按我想要的方式计算和转换数据,我还需要fromDate
之前的最后一个值,我可以得到:
var prevValue = MessageSet.Where(x => x.Date < fromDate).OrderByDescending(x => x.Date).FirstOrDefault();
然而,我正在做一个Join
与另一个IQueryable
,所以这不是真的为我工作
是否有一种方法来组合这些查询?
是否可以执行联合操作来获取日期和前一个日期之间的所有条目?
var list = MessageSet.Where(x => x.Date >= fromDate && x.Date <= toDate)
.Union(MessageSet
.Where(x=>x.Date < fromDate).OrderByDescending(x=>x.Date).Take(1)
);