如何使用DbFunction减去小时数?

时间:2015-09-07 08:26:24

标签: c# dbfunctions

如何使用DbFunction减去小时数?

我正在使用.Net framework 4.5和Entity Framework 6.0

这是我写的代码。

var _temp = (from x in context.LOG_ACTIVITIES
             ...
             select new 
             {
               RECEIVED_DATE = DbFunctions.AddHours(x.RECEIVED_DATE, -8), 
             ...
             }
            );

这里引发了异常消息。

  

SqlDbType.Time溢出。价值' -08:00:00'超出范围。一定是   在00:00:00.0000000和23:59:59.9999999之间。

任何帮助将不胜感激。 TIA!

1 个答案:

答案 0 :(得分:-1)

错误消息很明确。函数的结果是负数和数据类型" SqlDbType.Time"无法处理。你需要使用另一种数据类型(如果可以,我不知道)。或者您需要检查有效输入(如果" RECEIVED_DATE"大于" 8小时")并且如果结果值有效则返回标志。对于无效结果,您可以使用" NULL"。