常用分页方法
通过sql进行分页:
DECLARE @pagesize INT = 10;
DECLARE @pageindex INT = 3;
方法一:
SELECT * FROM (
SELECT ROW_NUMBER() OVER(ORDER BY id) AS rownum,* FROM dbo.Receiver ) temp WHERE temp.rownum BETWEEN
(@pagesize*(@pageindex-1)+1) AND (@pagesize * @pageindex)
方法二:
SELECT * FROM (
SELECT TOP (@pagesize * @pageindex) * FROM dbo.Receiver ORDER BY id ) temp
WHERE id NOT IN(SELECT TOP (@pagesize*(@pageindex-1)) ID FROM dbo.Receiver)
方法三:
SELECT * FROM dbo.Receiver ORDER BY id OFFSET ((@pageindex - 1) * @pagesize) ROWS FETCH NEXT @pagesize ROWS ONLY
通过C#进行分页:
var result = data.Skip(pager.PageSize * (pager.PageIndex - 1)).Take(pager.PageSize).ToList();
Skip:跳过前n个元素
Take:取出剩余元素的前n个元素

浙公网安备 33010602011771号