Linq Take和Skip详解

时间:2022-03-21 15:40:00

Take()方法的作用就是:从查询结果中提取前n个结果

Skip()方法正好是Take()方法的反面,它可以跳过前n个结果,返回剩余的结果

例如:查找年龄最大的3个人

表Student的数据是

Name Age
Jame 21
Tom 56
KD 36
Black 5
Bules 12

使用SQL语句查询时,代码如下所示:

select top 3  from Student  order by Age desc

使用Take()方法结合OrderByDescending子句一起来实现这个功能。

 using (ITPDBEntities context = new ITPDBEntities())
{
var query = from student in context.Student
select student;
//年龄最大的3个学生是:Tome,KD,Jame
var top3Student = query.OrderByDescending(it => it.Age).Take();
//其他的学生是:Bules,Black
var otherStudent = query.OrderByDescending(it => it.Age).Skip();
}