Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 17760 | Bulk Product ccf0ae42 | Clothing | $493.71 | 336 | ★ 3.6 | 99 | BULK-5b4b5ff3 |
| 17761 | Bulk Product c66d107f | Home & Garden | $564.53 | 496 | ★ 1.4 | 14 | BULK-a8453e0c |
| 17762 | Bulk Product 80c5d1e1 | Clothing | $257.69 | 179 | ★ 3.9 | 32 | BULK-756a6fed |
| 17763 | Bulk Product a41c97d7 | Sports & Outdoors | $922.17 | 404 | ★ 4.6 | 2 | BULK-52898786 |
| 17764 | Bulk Product 0f42e754 | Books | $106.46 | 191 | ★ 0.7 | 88 | BULK-30ccab35 |
| 17765 | Bulk Product f16ce905 | Home & Garden | $595.98 | 129 | ★ 1.9 | 20 | BULK-4f0fa079 |
| 17766 | Bulk Product c73c6294 | Clothing | $902.35 | 335 | ★ 4.7 | 52 | BULK-8eb66689 |
| 17767 | Bulk Product 6dcd7da3 | Electronics | $528.16 | 195 | ★ 5.0 | 60 | BULK-95f2c129 |
| 17768 | Bulk Product b6fcdda8 | Home & Garden | $643.12 | 405 | ★ 3.6 | 71 | BULK-3a4c9aa7 |
| 17769 | Bulk Product 59d3f69a | Sports & Outdoors | $728.38 | 255 | ★ 1.8 | 75 | BULK-b2d9e6c4 |
| 17770 | Bulk Product 50d0a9d6 | Clothing | $607.82 | 489 | ★ 3.0 | 8 | BULK-0dc3b377 |
| 17771 | Bulk Product 8f784bbc | Toys & Games | $176.67 | 41 | ★ 3.1 | 96 | BULK-c955866e |
| 17772 | Bulk Product 71f87727 | Sports & Outdoors | $305.63 | 64 | ★ 4.0 | 83 | BULK-b0a1127c |
| 17773 | Bulk Product 354df756 | Books | $478.95 | 289 | ★ 2.8 | 14 | BULK-9cf49a25 |
| 17774 | Bulk Product 1aae78cf | Toys & Games | $992.60 | 326 | ★ 1.2 | 92 | BULK-bff6352b |
| 17775 | Bulk Product 2515ea4d | Toys & Games | $699.09 | 67 | ★ 1.2 | 31 | BULK-47a3c4c4 |
| 17776 | Bulk Product 6981bea6 | Clothing | $650.63 | 305 | ★ 3.6 | 4 | BULK-971bfd50 |
| 17777 | Bulk Product dfcba9cc | Electronics | $456.43 | 105 | ★ 4.7 | 45 | BULK-f57a7654 |
| 17778 | Bulk Product d4ac8281 | Electronics | $542.15 | 137 | ★ 4.1 | 62 | BULK-7c95e9c9 |
| 17779 | Bulk Product c5980939 | Toys & Games | $881.94 | 63 | ★ 3.8 | 19 | BULK-a65ba1c1 |
| 17780 | Bulk Product ffaf48d8 | Toys & Games | $464.98 | 212 | ★ 0.7 | 38 | BULK-0aa4d81c |
| 17781 | Bulk Product 2774016a | Sports & Outdoors | $553.11 | 204 | ★ 1.5 | 2 | BULK-6cff77d4 |
| 17782 | Bulk Product d14b1223 | Home & Garden | $680.39 | 443 | ★ 0.1 | 2 | BULK-a1105475 |
| 17783 | Bulk Product e7027421 | Toys & Games | $158.79 | 112 | ★ 4.5 | 17 | BULK-0de0e65d |
| 17784 | Bulk Product 9b593ed4 | Electronics | $573.81 | 353 | ★ 0.3 | 73 | BULK-bb9eec6a |
| 17785 | Bulk Product a1ca749a | Books | $369.89 | 299 | ★ 4.5 | 56 | BULK-8a5efe16 |
| 17786 | Bulk Product 9159cc69 | Home & Garden | $956.11 | 247 | ★ 4.4 | 66 | BULK-eb4336a2 |
| 17787 | Bulk Product 7c1803e8 | Toys & Games | $468.50 | 379 | ★ 0.0 | 41 | BULK-eac4f3ef |
| 17788 | Bulk Product 9bbb583d | Books | $436.51 | 186 | ★ 2.1 | 50 | BULK-33fa8c02 |
| 17789 | Bulk Product 4b58f916 | Electronics | $857.60 | 38 | ★ 0.4 | 61 | BULK-ce420151 |
| 17790 | Bulk Product 8f6aa0e1 | Sports & Outdoors | $286.36 | 15 | ★ 4.9 | 97 | BULK-75bdd88d |
| 17791 | Bulk Product d0837f97 | Sports & Outdoors | $475.01 | 401 | ★ 2.7 | 51 | BULK-31184c88 |
| 17792 | Bulk Product e53b6dce | Home & Garden | $771.67 | 380 | ★ 1.6 | 16 | BULK-8f8a2b24 |
| 17793 | Bulk Product 9ac1bb65 | Clothing | $170.11 | 413 | ★ 4.0 | 42 | BULK-62c7a17b |
| 17794 | Bulk Product f6de480d | Clothing | $268.87 | 277 | ★ 5.0 | 96 | BULK-8dcf65c0 |
| 17795 | Bulk Product f24760e8 | Toys & Games | $839.41 | 345 | ★ 1.6 | 44 | BULK-d21ccfd3 |
| 17796 | Bulk Product 97e907ea | Toys & Games | $567.28 | 455 | ★ 0.2 | 15 | BULK-63417457 |
| 17797 | Bulk Product 54b0e310 | Home & Garden | $334.45 | 267 | ★ 1.5 | 29 | BULK-58f691ef |
| 17798 | Bulk Product 27509d55 | Clothing | $514.92 | 114 | ★ 1.0 | 99 | BULK-70979a00 |
| 17799 | Bulk Product 1ff5b14e | Electronics | $379.01 | 102 | ★ 1.4 | 47 | BULK-b5c9d558 |
| 17800 | Bulk Product fa82bae4 | Books | $723.08 | 292 | ★ 0.6 | 59 | BULK-51091306 |
| 17801 | Bulk Product ef46d1a1 | Electronics | $952.33 | 452 | ★ 3.9 | 88 | BULK-062de311 |
| 17802 | Bulk Product cb5e775a | Home & Garden | $342.97 | 355 | ★ 2.0 | 67 | BULK-60e40e12 |
| 17803 | Bulk Product e69f9198 | Sports & Outdoors | $237.17 | 246 | ★ 1.3 | 59 | BULK-5e4d52dd |
| 17804 | Bulk Product 5f64f7eb | Books | $797.79 | 493 | ★ 3.3 | 98 | BULK-25fec8dd |
| 17805 | Bulk Product 9a465859 | Electronics | $142.74 | 423 | ★ 1.5 | 27 | BULK-496d6c03 |
| 17806 | Bulk Product 588bf4da | Clothing | $672.13 | 448 | ★ 4.8 | 37 | BULK-a4b3eccb |
| 17807 | Bulk Product ffe5a619 | Electronics | $905.02 | 194 | ★ 4.5 | 24 | BULK-02d9309c |
| 17808 | Bulk Product 2486dbb1 | Toys & Games | $802.46 | 160 | ★ 0.6 | 40 | BULK-daf0ad47 |
| 17809 | Bulk Product b2cc5246 | Toys & Games | $852.69 | 57 | ★ 1.8 | 70 | BULK-b3b76d6d |
// Efficient pagination with Skip and Take
public async Task<PaginatedResult<DemoProduct>> GetPaginatedProductsAsync(int page, int pageSize)
{
// Get total count (cached if possible)
var totalCount = await _context.DemoProducts.CountAsync(p => p.IsActive);
// Get page of results
var items = await _context.DemoProducts
.Where(p => p.IsActive)
.OrderBy(p => p.Id) // Important: Must have ORDER BY for consistent paging
.Skip((page - 1) * pageSize) // OFFSET in SQL
.Take(pageSize) // FETCH NEXT in SQL
.AsNoTracking() // No tracking needed for read-only
.ToListAsync();
return new PaginatedResult<DemoProduct>
{
Items = items,
TotalCount = totalCount,
Page = page,
PageSize = pageSize
};
}