在LINQ中比较日期会产生错误-方法不能转换为存储表达式
本文关键字:不能 方法 转换 表达式 存储 错误 LINQ 比较 日期 | 更新日期: 2023-09-27 18:11:09
我正试图拔出HourRegistrations
HourRegistration.Date == //withint the last 3 months
我正在尝试这样做(在网上找到了这个解决方案,但似乎不起作用)
var dbHourRegs = db.HourRegistration
.Where(x => DateTime.Compare(x.Date, DateTime.Today.AddMonths(-3)) >= 0)
.ToList();
但是正如标题所说,我一直得到这个错误:
LINQ to Entities不能识别方法System。DateTime AddMonths(Int32)'方法,该方法不能转换为存储表达式。
如何进行?或者更确切地说,我如何完成这项任务?
方法日期时间。比较的是c#方法不能转换成sql查询。同样DateTime.Now.AddMonths
也会因为同样的原因产生错误
你可以这样做
DateTime YourDate = DateTime.Now.AddMonths(-3);
var dbHourRegs = db.HourRegistration
.Where(x => x.Date >= YourDate)
.ToList();