有没有办法从 Linq 到实体查询中的日期获取长值?

Is there a way to get the long value from a Date in a Linq to Entity query?

首先,是的,我知道有人问过类似的问题。他们通常需要比较两个日期时间。

就我而言,我并不是要比较日期时间。我正在尝试对计算中的实体执行数学运算,其中包括日期 属性。

我一直在查看 EntityFunctions,但除非我弄错了,否则似乎没有将日期转换为 long/int 值的方法。本质上是 Ticks 属性,Linq to Entities 显然不支持。

这可能吗?

关于我要实现的目标的简单示例:

var foos = db.Foos.OrderBy(f => f.Score / f.SomeDate.ToLong()).ToList();

如果有帮助,我首先使用代码,我所指的日期由 C# 中的 DateTime 对象表示。

您可以尝试其他函数来获得 Int/Long 值,例如

EntityFunctions.DiffSeconds(fixedDate, f.SomeDate)

或者

EntityFunctions.DiffNanoseconds(fixedDate, f.SomeDate)