问题描述
我知道有一个函数可以只比较日期时间类型列的日期,但是如果我只想将它的时间与另一个时间进行比较怎么办。 Linq To Entities 中有函数吗?
DbFunctions.TruncateTime(q.EndDate.Value)
解决方法
它并不漂亮,但您可以将 Diff
变体方法与 TruncateTime
结合使用。例如,将时间与秒进行比较:
DbFunctions.DiffSeconds(DbFunctions.TrucateTime(x.Date1),x.Date1) -
DbFunctions.DiffSeconds(DbFunctions.TrucateTime(x.Date2),x.Date2) == 0
会告诉您两次(在不同日期)是否相同。
,我用过这个,效果很好。
SqlFunctions.DatePart("hh",t.Time.Value) == SqlFunctions.DatePart("hh",newTime) && SqlFunctions.DatePart("n",t.Time.Value) == SqlFunctions.DatePart("n",newTime)