如何从自定义时间减去EntityFunctions.TruncateTime

时间:2013-07-05 10:05:28

标签: c#

我有一个查询,根据两个条件返回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'

请帮助。

1 个答案:

答案 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}}