我在我的项目中使用 .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.
有人可以解释我做错了什么吗?提前致谢!
最佳答案
试试这个...
var compareDate = DateTime.Now.AddMinutes(-5);
return _context.table
.Where( x=> x.CPULoad > 90 && X.Date >= compareDate);
本质上,这里的问题是 Entity Framework 不知道如何将
DateTime.Now.AddMinutes(-5)
转换为 SQL,因此您需要获取该值,然后将其传递给 Entity Framework 。
关于c# - 比较 EF Core Linq 查询中的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42144631/