diff --git a/EntityFrameworkPaginate/PaginateService.cs b/EntityFrameworkPaginate/PaginateService.cs index 95086e8..90ee863 100644 --- a/EntityFrameworkPaginate/PaginateService.cs +++ b/EntityFrameworkPaginate/PaginateService.cs @@ -1,5 +1,6 @@ using System; using System.Linq; +using System.Data.Entity; namespace EntityFrameworkPaginate { @@ -16,12 +17,14 @@ public static class PaginateService /// A Page object with filtered data for the given page number and page size. public static Page Paginate(this IQueryable query, int pageNumber, int pageSize) { + var pageSkip = (pageNumber - 1) * pageSize; + var result = new Page { CurrentPage = pageNumber, PageSize = pageSize, RecordCount = query.Count(), - Results = query.Skip((pageNumber - 1) * pageSize).Take(pageSize).ToList() + Results = query.Skip(() => pageSkip).Take(() => pageSize).ToList() }; result.PageCount = (int)Math.Ceiling((double)result.RecordCount / pageSize); return result;