LINQ Orderby降序查询

我相信这将是一个相对简单的。

我有一个LINQ查询,我想按最近创​​建的日期排序。

看到:

        var itemList = from t in ctn.Items
                        where !t.Items && t.DeliverySelection
                        orderby t.Delivery.SubmissionDate descending
                        select t;

我也试过:

       var itemList = (from t in ctn.Items
                        where !t.Items && t.DeliverySelection
                        select t).OrderByDescending();

但是这给了一个错误:

方法'OrderByDescending'没有重载需要0个参数

从我读过的内容来看,我相当确定我做过的第一种方式应该可行。 我试着改变下降到只是为了看看它做了什么,但它保持不变。

如果有人可以查看查询,看看我是否做错了,我将不胜感激。 谢谢 :)


您需要选择一个属性进行排序并将其作为一个lambda表达式传递给OrderByDescending

喜欢:

.OrderByDescending(x => x.Delivery.SubmissionDate);

真的,尽管你的LINQ语句的第一个版本应该可以工作。 t.Delivery.SubmissionDate实际上是否填充有效日期?


我认为这是第一次失败,因为您订购的是空值。 如果Delivery是一个外键关联表,那么你应该首先包含这个表,下面的例子:

var itemList = from t in ctn.Items.Include(x=>x.Delivery)
                    where !t.Items && t.DeliverySelection
                    orderby t.Delivery.SubmissionDate descending
                    select t;

我认为第二个应该是

var itemList = (from t in ctn.Items
                where !t.Items && t.DeliverySelection
                select t).OrderByDescending(c => c.Delivery.SubmissionDate);
链接地址: http://www.djcxy.com/p/34235.html

上一篇: LINQ Orderby Descending Query

下一篇: Do LINQ's Enumerable Methods Maintain Relative Order of Elements?