我有一个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();
但是这会产生一个错误:
No overload for method 'OrderByDescending' takes 0 arguments
据我所知,第一种方法是。我试过把降序改成升序只是想看看效果如何,结果还是一样。
我做错了什么?
只是用一种不同的格式来展示它,出于某种原因,我更喜欢用这种格式:
第一种方法以System.Linq.IOrderedQueryable形式返回itemList
using(var context = new ItemEntities())
{
var itemList = context.Items.Where(x => !x.Items && x.DeliverySelection)
.OrderByDescending(x => x.Delivery.SubmissionDate);
}
这种方法很好,但如果你想把它直接放到一个列表对象中:
var itemList = context.Items.Where(x => !x.Items && x.DeliverySelection)
.OrderByDescending(x => x.Delivery.SubmissionDate).ToList();
你所要做的就是在查询的末尾追加一个. tolist()调用。
需要注意的是,我不记得Where()调用中!(not)表达式是否可以接受。
只是用一种不同的格式来展示它,出于某种原因,我更喜欢用这种格式:
第一种方法以System.Linq.IOrderedQueryable形式返回itemList
using(var context = new ItemEntities())
{
var itemList = context.Items.Where(x => !x.Items && x.DeliverySelection)
.OrderByDescending(x => x.Delivery.SubmissionDate);
}
这种方法很好,但如果你想把它直接放到一个列表对象中:
var itemList = context.Items.Where(x => !x.Items && x.DeliverySelection)
.OrderByDescending(x => x.Delivery.SubmissionDate).ToList();
你所要做的就是在查询的末尾追加一个. tolist()调用。
需要注意的是,我不记得Where()调用中!(not)表达式是否可以接受。