我有一个查询,根据两个条件返回true或false。其中一个条件是检查DB的时间(今天的时间)是否小于或等于5分钟(即300秒)。 我尝试定义DateTime格式的变量,如下所示
System.DateTime customDate= new System.DateTime(0000, 00, 00, 0, 00, 300);
这是查询
bool result = (from a in this.db.Samples
where a.Ping == "Online"
&&
(EntityFunctions.TruncateTime(a.date) - DateTime.Now) <= customDate
select a).Any();
但我有以下错误
运算符'&lt; ='不能应用于'System.TimeSpan?'类型的操作数? 和System.DateTime'
请帮助。
答案 0 :(得分:1)
从另一个DateTime
中减去TimeSpan
会产生bool result = (from a in this.db.Samples
where a.Ping == "Online"
&&
EntityFunctions.DiffMinutes(EntityFunctions.TruncateTime(a.date), DateTime.Now) <= 5
select a).Any();
。 EntityFramework不支持DateTime / TimeSpan算法,因此您必须使用DiffMinutes实体函数。 (Full list of entity functions)。
尝试:
{{1}}