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();
}