C# 在Linq to实体查询中,是否有方法从日期获取长值?

C# 在Linq to实体查询中,是否有方法从日期获取长值?,c#,entity-framework,linq,entity-framework-6,linq-to-entities,C#,Entity Framework,Linq,Entity Framework 6,Linq To Entities,首先也是最重要的是,是的,我知道类似的问题已经被问得令人作呕。他们通常需要比较两个约会时间 在我的例子中,我不想比较日期时间。我正在尝试执行一个数学运算,其中包括计算中实体的日期属性 我一直在查看EntityFunctions,但除非我弄错了,否则似乎没有一种方法可以将日期转换为long/int值。本质上是Ticks属性,Linq to实体显然不支持该属性 这可能吗 举一个简单的例子,说明我正在努力实现的目标: var foos = db.Foos.OrderBy(f => f.Score

首先也是最重要的是,是的,我知道类似的问题已经被问得令人作呕。他们通常需要比较两个约会时间

在我的例子中,我不想比较日期时间。我正在尝试执行一个数学运算,其中包括计算中实体的日期属性

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

这可能吗

举一个简单的例子,说明我正在努力实现的目标:

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

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

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

EntityFunctions.DiffSeconds(fixedDate, f.SomeDate)


是的,这正是我所做的,而且奏效了。刚回来发布我自己的答案,但你抢先一步!另外,正如我在今天使用这些函数时了解到的,EntityFunctions现在不推荐用于DbFunctions。
EntityFunctions.DiffNanoseconds(fixedDate, f.SomeDate)