【发布时间】:2013-07-10 19:02:15
【问题描述】:
我有下表:
SHIFT
----------------------------------------
| SHIFT_ID | SHIFT_TIME | SHIFT_DURATION |
| -------------------------------------- |
| 1 | 00:00:00 | 01:00:00 |
| 2 | 01:00:00 | 01:00:00 |
| 3 | 02:00:00 | 01:00:00 |
----------------------------------------
这里,SHIFT_TIME 和 SHIFT_DURATION 的类型为 TimeSpan。
现在,当我运行以下查询时:
var query = from c in SHIFT
where c.SHIFT_TIME + c.SHIFT_DURATION >=
new TimeSpan(DateTime.Now.Hour,
DateTime.Now.Minute,
DateTime.Now.Second)
select c;
我收到以下错误:Operand data type time is invalid for add operator.
为什么要这样做?如何规避此错误?
编辑:我尝试同时使用.Add() 和.CompareTo() 均无济于事。
【问题讨论】:
-
您是否尝试过使用时间跨度添加方法? msdn.microsoft.com/en-us/library/system.timespan.add.aspx
-
是的,但它也会抛出同样的异常。
-
您如何使用 TimeSpan.Add?应该是
c.SHIFT_TIME.Add(c.SHIFT_DURATION)
标签: c# sql-server linq entity-framework timespan