Det*_*ium 0 c# linq entity-framework
我试图找出HourRegistrations其中
HourRegistration.Date == //withint the last 3 months
Run Code Online (Sandbox Code Playgroud)
我正在尝试这样(在网上找到了这个解决方案,但它似乎不起作用)
var dbHourRegs = db.HourRegistration
.Where(x => DateTime.Compare(x.Date, DateTime.Today.AddMonths(-3)) >= 0)
.ToList();
Run Code Online (Sandbox Code Playgroud)
但正如标题所说,我不断收到此错误:
LINQ to Entities 无法识别“System.DateTime AddMonths(Int32)”方法,并且该方法无法转换为存储表达式。
该如何进行呢?或者更确切地说,我如何完成这项任务?
DateTime.Compare 方法是 C# 方法,无法转换为 sql 查询。DateTime.Now.AddMonths由于同样的原因也会产生错误
你可以这样做
DateTime YourDate = DateTime.Now.AddMonths(-3);
var dbHourRegs = db.HourRegistration
.Where(x => x.Date >= YourDate)
.ToList();
Run Code Online (Sandbox Code Playgroud)