比较小于或等于不工作的日期时间

comparing datetime less than or equal to not working

我有一个从数据库中获取数据的查询。用户可以 select 获取数据的日期范围。我希望我的日期范围过滤器具有包容性,所以如果用户 selects 日期从和日期到,查询应该执行以下操作:

all dates >= date FROM
AND
all dates <= date TO

这对于 FROM 日期工作正常,我得到的所有内容都大于 AND 等于 FROM 日期。但是对于日期 TO,它不包括日期,只是得到小于日期 TO 的所有内容。

代码如下:

query = query
   .Where(x => x.TradeDt >= tradeDFrom)
   .Where(x => x.TradeDt <= tradeDTo);

TradeDt 可能是日期时间,时间部分不是午夜,而您的 tradeDTo 的时间部分是午夜。向 tradeDTo 添加一天,并使用 <

tradeDTo=tradeDTo.AddDays(1);
query = query
   .Where(x => x.TradeDt >= tradeDFrom)
   .Where(x => x.TradeDt < tradeDTo);

尝试只比较日期部分。

query = query
  .Where(x => x.TradeDt.Date >= tradeDFrom.Date)
  .Where(x => x.TradeDt.Date <= tradeDTo.Date);