我有一个包含CreatedDate
列的表格。我想按数据库中最长的行排序,但需要通过从DateTime.Now
中减去它来确定天数。
我只是通过CreatedDate
订购才意识到这是可行的,但我还需要做更多的事情。
我需要按照一段时间内使用的次数来订购商品,实际上是获得最受欢迎的商品。
所以我想要做的是首先确定天数,然后将其除以每个项目的使用次数。
步骤1)
orderby (DateTime.Now.Subtract(t.CreatedDate.Value).Days)
步骤2)
orderby (t.UsedCount/DateTime.Now.Subtract(t.CreatedDate.Value).Days)
这会导致以下错误:
方法'System.TimeSpan Subtract(System.DateTime)'没有支持的SQL转换。
答案 0 :(得分:2)
奇怪的是,“Subtract()”不起作用,但Minus确实如此。 尝试:
orderby (t.UsedCount/(DateTime.Now - t.CreatedDate.Value).Days)
(使用“主”数据库在LINQPad中测试)
from sp in Spt_monitors
orderby sp.Io_busy / (DateTime.Now - sp.Lastrun).Days
select sp