如何在C#中使用LINQ方法或查询表达式检索最后5条记录
在我的主页上,我想展示最近添加的产品。 我已经向我的控制器添加了一个ChildAction,但我无法理解我应该运行哪些Linq查询来获取最后五个记录。
LINQ
var lastFiveProducts = (from p in products orderby p.ProductDate descending select p).Take(5);
LAMBDA
var lastFiveProducts = products.OrderByDescending(p => p.ProductDate).Take(5);
你喜欢哪个。
.Skip(count - 5);
要么
.Reverse().Take(5).Reverse()
最简单的方法是颠倒你的顺序(例如使用orderby foo descending
),然后使用Take()
。 例如:
var recentProducts = products.OrderByDescending(x => x.CreationDate) .Take(5);
或者在查询表达式表单中(我不会用于在上面的表单中更容易表达的简单查询):
var recentProducts = (from product in products orderby product.CreationDate descending select product).Take(5);
安装MoreLINQ Package,然后:
CollectionName.TakeLast(5);
这是用于以升序选择最后5个
var query = from tbl in (from tbl1 in object.Table orderby tbl1.Column descending select tbl1).Take(5) orderby tbl.Column ascending select tbl;
码:
INT[]number = new int[] {3,6,8,2,3,7,0,2,5} var result= (from r in number select r).reverse().take(5);
结果:5 2 0 7 3