using System.Linq; namespace <%= repoProjectName %>.Infrastructure { public class Page { public int PageNumber { get; set; } public int PageSize { get; set; } public Page() { PageNumber = 1; PageSize = 10; } public Page(int pageNumber, int pageSize) { PageNumber = pageNumber; PageSize = pageSize; } public int Skip { get { return (PageNumber - 1) * PageSize; } } } public static class PagingExtensions { /// /// Extend IQueryable to simplify access to skip and take methods /// /// /// /// /// IQueryable with Skip and Take having been performed public static IQueryable GetPage(this IQueryable queryable, Page page) { return queryable.Skip(page.Skip).Take(page.PageSize); } } }