我有一个从数据库中获取数据的查询。用户可以选择获取数据的日期范围。我希望我的日期范围过滤器具有包容性,因此如果用户选择日期和日期,则查询应执行以下操作:
all dates >= date FROM
AND
all dates <= date TO
这对于FROM日期工作正常,我将所有内容都更大并且等于日期FROM。但是对于日期TO,它不包括日期,只是让所有东西都比日期更少。
这里是代码:
query = query
.Where(x => x.TradeDt >= tradeDFrom)
.Where(x => x.TradeDt <= tradeDTo);
答案 0 :(得分:3)
TradeDt可能是一个日期时间,时间部分不是午夜,而您的tradeDTo的时间部分是午夜。为tradeDTo添加一天,并使用&lt;
tradeDTo=tradeDTo.AddDays(1);
query = query
.Where(x => x.TradeDt >= tradeDFrom)
.Where(x => x.TradeDt < tradeDTo);
答案 1 :(得分:2)
尝试仅比较日期部分。
query = query
.Where(x => x.TradeDt.Date >= tradeDFrom.Date)
.Where(x => x.TradeDt.Date <= tradeDTo.Date);