Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何按Linq中的日期时间差排序?_Linq_Datetime - Fatal编程技术网

如何按Linq中的日期时间差排序?

如何按Linq中的日期时间差排序?,linq,datetime,Linq,Datetime,我有一个带有CreatedDate列的表。我想按数据库中最长的行排序,但需要通过从DateTime.Now中减去天数来确定天数 我意识到,只需通过CreatedDate进行排序就可以做到这一点,但我还需要做更多的事情 我需要按物品在一段时间内被使用的次数来订购物品,事实上是要得到最受欢迎的物品 所以我想做的是首先确定天数,然后除以每件物品的使用次数 步骤1) 步骤2) 这将导致以下错误: 方法“System.TimeSpan Subtract(System.DateTime)”不支持到SQL的转

我有一个带有
CreatedDate
列的表。我想按数据库中最长的行排序,但需要通过从
DateTime.Now
中减去天数来确定天数

我意识到,只需通过
CreatedDate
进行排序就可以做到这一点,但我还需要做更多的事情

我需要按物品在一段时间内被使用的次数来订购物品,事实上是要得到最受欢迎的物品

所以我想做的是首先确定天数,然后除以每件物品的使用次数

步骤1)

步骤2)

这将导致以下错误:

方法“System.TimeSpan Subtract(System.DateTime)”不支持到SQL的转换

奇怪的是,“减法()”不起作用,但减法起作用。 尝试:

(使用“主”数据库在LINQPad中测试)

orderby (DateTime.Now.Subtract(t.CreatedDate.Value).Days)
orderby (t.UsedCount/DateTime.Now.Subtract(t.CreatedDate.Value).Days)
 orderby (t.UsedCount/(DateTime.Now - t.CreatedDate.Value).Days)
from sp in Spt_monitors
orderby sp.Io_busy / (DateTime.Now - sp.Lastrun).Days
select sp