0

我需要将分页逻辑应用于此查询。我怎样才能做到这一点?

我的查询如下,

myresultset = from req in myreqTable
              join streq in myStreqTable on req.ID.ToString() equals new SPFieldLookupValue( Convert.ToString( streq[FormID] ) ).LookupValue
              where (filter(req) && filter1(streq))
              join plnts in plantDetails on Convert.ToString( streq[RequestID) equals Convert.ToString(plnts[RequestID]) into mySet
              from s in mySet.DefaultIfEmpty()
              select new Mytable() {
                  FormID = Convert.ToString(streq[FormID]),
                  RequestID = Convert.ToString(streq[RequestID])
              };
4

3 回答 3

3

添加.Skip( pageSize * pageIndex ).Take( pageSize );到查询的末尾。请注意,它pageIndex是从零开始的(所以第一页是0,第二页是1等等)。

但是,您的 Linq 对我来说似乎无效,并且有一些语法错误。你确定这是你的代码,因为它在你的编辑器中?

于 2013-07-12T06:34:58.633 回答
0

用途TakeSkip方法:

myresults = myresults.Skip((page - 1) * pageSize).Take(pageSize);

我假设页面编号从1.

于 2013-07-12T06:36:01.707 回答
0
recordsForCurrentPage = myresultset.Skip( recordsPerPage * pageNumber ).Take( recordsPerPage )

这是假设您的页码以 0 开头。否则从 中减去 1 pageNumber

于 2013-07-12T06:36:15.640 回答