我需要将分页逻辑应用于此查询。我怎么能这样做?
我的查询如下,
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])
};
答案 0 :(得分:3)
将.Skip( pageSize * pageIndex ).Take( pageSize );
添加到查询的末尾。请注意,pageIndex
从零开始(因此第一页为0
,第二页为1
,依此类推。)
但是你的Linq对我来说看起来不合适,并且有一些语法错误。你确定这是你编辑的代码吗?
答案 1 :(得分:0)
使用Take
和Skip
方法:
myresults = myresults.Skip((page - 1) * pageSize).Take(pageSize);
我假设页面编号从1
开始。
答案 2 :(得分:0)
recordsForCurrentPage = myresultset.Skip( recordsPerPage * pageNumber ).Take( recordsPerPage )
假设您的页码以0开头。否则从pageNumber
中减去1。