Wednesday, February 27, 2019

Pagination In SQL and Equivalent LINQ Statement

Common paging approach on SQL Server 2012 is OFFSET / FETCH

declare @PageSize int = 10          --Number of rows per page
declare @PageNumber int = 2    --Which page we want to read

select * from Employee order by ID
OFFSET @PageSize * (@PageNumber - 1) ROWS
FETCH NEXT @PageSize ROWS ONLY;

Equivalent LINQ Query:

int PageSize=10;
int PageNumber = 2;

var selectedEmployeeList = Employees.skip( PageSize*(PageNumber -1) )
                                                                      .take(PageSize).ToList();

No comments:

Post a Comment