我试图在mysql中获取两个日期之间的持续时间。
我观察到有DbFunctions类可以用不同的形式计算两个日期之间的差异,如天,小时,微秒等等。
我使用MySQL作为dabatase和EF6。 我使用了DbFunctions,如下所示。
await (from o in Order
select new
{
ID = o.ID,
OrderBookTime = o.OrderDateTime,
DelieveryTime = DbFunctions.DiffHours(o.DeliveryDateTime, o.OrderDateTime),
}).ToListAsync();
它会抛出FUNCTION database_name.DiffDays does not exist
我已经检查了在后台执行的查询。
SELECT
`Extent1`.`ID`,
`Extent1`.`OrderDateTime`,
DiffHours(`Extent1`.`DeliveryDateTime`, `Extent1`.`OrderDateTime`) AS `C1`,
FROM `order` AS `Extent1`
是否有必要在数据库中编写自定义函数来计算两个日期的差异?