首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Linq: TimeSpan中2个DateTimes的区别

Linq: TimeSpan中2个DateTimes的区别
EN

Stack Overflow用户
提问于 2012-04-19 01:41:49
回答 3查看 23.2K关注 0票数 16

我正在尝试这样做:

代码语言:javascript
复制
Tickets.Where(t => (t.Date - myTicket.Date) < TimeSpan.FromSeconds(120));

我得到了"DbArithmeticExpression参数必须有一个数字通用类型“的错误。考虑到我需要TimeSpan中的差异,我该如何做到这一点?

提前谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-19 02:09:02

您可能希望使用SqlFunctions.DateDiff

代码语言:javascript
复制
Tickets.Where(t => 
      SqlFunctions.DateDiff("second", t.Date, myTicket.Date) < 120));
票数 27
EN

Stack Overflow用户

发布于 2016-02-03 17:07:06

你也可以使用这个;

代码语言:javascript
复制
var result = db.Tickets.Where(t => 
       SqlMethods.DateDiffSecond(myTicket.Date ,  t.Date) < 120);
票数 4
EN

Stack Overflow用户

发布于 2012-04-19 02:17:21

实体框架中不支持DateTime的算术运算。您必须使用其中一个SqlFunctions。因此,对于您的语句,如下所示:

代码语言:javascript
复制
Tickets.Where(t => 
      SqlFunctions.DateDiff("second", t.Date, myTicket.Date) < 120));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10214901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档