none
Linq如何指定取得结果集中的个数? RRS feed

  • 问题

  • Linq如何指定取得结果集中的个数?  比如查询的正常查询的话结果集可能有10000条记录,但是我实际只想取得前100条记录,或第100--200条结果。

    不知道C#是否可以做到。  反正SQL server 和Oracle 的语法中都是有相关支持的。

    谢谢

    2010年4月24日 14:26

答案

  • Skip + Take 实现大概如下

                      query = query.Skip((pageNum - 1) * pageSize).Take(pageSize);


    问题要简单,错误须详细@错误/异常/堆栈信息+操作系统+软件版本+all the context of the issue Hope Helpful | http://www.leoworks.net
    2010年4月24日 14:43
  • 先用orderby排序,然后可以使用skip忽略掉一些记录,使用take取得记录。
    2010年4月24日 17:31

全部回复

  • Skip + Take 实现大概如下

                      query = query.Skip((pageNum - 1) * pageSize).Take(pageSize);


    问题要简单,错误须详细@错误/异常/堆栈信息+操作系统+软件版本+all the context of the issue Hope Helpful | http://www.leoworks.net
    2010年4月24日 14:43
  • 先用orderby排序,然后可以使用skip忽略掉一些记录,使用take取得记录。
    2010年4月24日 17:31
  • 多谢MVP, 但VS要是直接提供一个take( int from, int to )或 at(int index)就好了。 这样大家也就不必再执行两个命令了。。
    2010年4月28日 1:25