我在我的项目中使用.NETCore和EF Core。我无法使用DateTimes查询带有表达式的项目。
return _context.table
.Where( x=> x.CPULoad > 90 && X.Date >= DateTime.Now.AddMinutes(-5));
CPULoad工作正常,但日期时间比较输出如下。
The LINQ expression '(([x].Date >= DateTime.Now.AddMinutes(-5))' could not be translated and will be evaluated locally.
有人可以解释我做错了什么吗?提前谢谢!
答案 0 :(得分:7)
试试这个......
var compareDate = DateTime.Now.AddMinutes(-5);
return _context.table
.Where( x=> x.CPULoad > 90 && X.Date >= compareDate);
基本上这里的问题是实体框架不知道如何将DateTime.Now.AddMinutes(-5)
转换为SQL,因此您需要获取该值,然后将其传递给实体框架。