繁体   English   中英

Linq 日期时间操作比较

[英]Linq DateTime Operations Comparison

所以我有这个声明

SearchResults = (from s in dbContext.tbl_ShippingProgram
                 where s.eta_date.Date > DateTime.Now.Date.AddMonths(-TimePeriod.Value)
                 select s).ToList();

其中 SearchResults 定义为

public List<tbl_ShippingProgram> SearchResults { get; set; }

而 TimePeriod.Value 是一个 int

我很难弄清楚为什么这不起作用,只是选择所有值没有错,因为

SearchResults = (from s in dbContext.tbl_ShippingProgram
                 select s).ToList();

工作得很好。 任何和所有的帮助表示赞赏 <3

编辑 - 问题是它没有返回任何应该在的地方,检查数据库中的值和计算的 DateTime.Now 值,它应该返回一些东西一些应该返回的示例行,eta 日期是第一个日期字段

尝试DateTime.Now.AddMonths(-TimePeriod.Value).Date

我认为您需要调整后的日期时间的日期部分。 这也让我一直绊倒...

如果这没有帮助,还可以尝试其他几件事:

  1. 计算 linq 语句之外的日期(尽管您没有收到不受支持的错误,但仍然如此)。
  2. 尝试将 .Compare() 用于日期时间。
  3. 通过使用明确包含所有结果的硬编码日期进行一些完整性检查。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM