如何按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