Take()
Take 运算子是扩充自 IEnumerable 的方法,只需传入一个 int 型別的参数,表示要取回的项目个数。当 Take 运算子被调用时,会从来源序列的第一個项目开始,依序取回指定数量的项目当做结果回传。
Skip()
Skip 运算子和 Take 运算子正好相反,它可用来跳过来源序列中的前几个项目,再把剩下的资料全部回传。
用法
这两个函数可以直接在c#中用来做分页处理。但是两个函数的顺序不能反。不然容易引发数据混乱的问题。最好是先用source.Skip().Take()。也可以先将source.ToList(),然后进行Skip().Take()。因为先List()的话,会执行sql查询返回有序的结果集。这样查询变不会出错。
sql关键字执行顺序
(http://blog.csdn.net/cqnuztq/article/details/8683656)
这两个函数对应的查询
source.Take().Skip()对应的sql:
select *,row_number() OVER(order