c# Entity DbArithmeticExpression arguments must have a numeric common type

时间:2023-03-08 15:40:24

在Entity Lambda表达式中计算DateTime类型的时候

不能直接用DateTime类型进行相减计算差值

需要使用DbFunctions提供的一些方法。

例如:

DbFunctions.DiffDays(aDate-bDate)

注意:Dbfunctions提供的方法接受Nullable<DateTime>类型

------English---------

Arithmetic with DateTime is not supported in Entity Framework.

have to use DbFunctions*.

for example:

context.Sleeps(o => DbFunctions.DiffHours(o.ClientDateTimeStamp, clientDateTime) < 24);

Note that the DiffHours method accepts Nullable<DateTime>.