Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 11610 | Bulk Product 582ff215 | Electronics | $949.65 | 40 | ★ 3.1 | 13 | BULK-fcb7f55a |
| 11611 | Bulk Product d67f6eba | Electronics | $482.62 | 17 | ★ 3.6 | 30 | BULK-3757c640 |
| 11612 | Bulk Product 72e41382 | Electronics | $659.08 | 213 | ★ 2.9 | 36 | BULK-c246bbf6 |
| 11613 | Bulk Product d42f9404 | Books | $596.79 | 37 | ★ 4.3 | 20 | BULK-8cccdcc7 |
| 11614 | Bulk Product 69c8cc89 | Sports & Outdoors | $516.23 | 164 | ★ 1.8 | 87 | BULK-f7d662ac |
| 11615 | Bulk Product d3e10399 | Toys & Games | $11.64 | 358 | ★ 2.5 | 55 | BULK-e207a33d |
| 11616 | Bulk Product fd730bee | Electronics | $135.34 | 20 | ★ 1.9 | 68 | BULK-c9bac87b |
| 11617 | Bulk Product 4f3e1424 | Books | $747.22 | 347 | ★ 1.4 | 51 | BULK-6472aa00 |
| 11618 | Bulk Product 8ed6534b | Home & Garden | $885.51 | 321 | ★ 4.8 | 25 | BULK-8ece5e6d |
| 11619 | Bulk Product 663c4250 | Books | $668.34 | 468 | ★ 2.8 | 71 | BULK-a678ab8c |
| 11620 | Bulk Product f00a3839 | Home & Garden | $417.25 | 239 | ★ 0.4 | 85 | BULK-2db2ad51 |
| 11621 | Bulk Product e967464e | Electronics | $928.42 | 489 | ★ 0.3 | 62 | BULK-fb313e37 |
| 11622 | Bulk Product 21c4a586 | Sports & Outdoors | $546.31 | 408 | ★ 2.0 | 80 | BULK-bf815083 |
| 11623 | Bulk Product 18e0f3c2 | Home & Garden | $450.97 | 470 | ★ 0.2 | 80 | BULK-774133b0 |
| 11624 | Bulk Product eeec0351 | Sports & Outdoors | $959.32 | 199 | ★ 0.4 | 27 | BULK-877fde2d |
| 11625 | Bulk Product d7ff7d6c | Books | $262.21 | 260 | ★ 0.4 | 50 | BULK-bbfd46d4 |
| 11626 | Bulk Product 80603eeb | Books | $289.45 | 106 | ★ 0.3 | 2 | BULK-adabb83b |
| 11627 | Bulk Product f5daadd0 | Sports & Outdoors | $469.89 | 483 | ★ 2.6 | 98 | BULK-f1ccd858 |
| 11628 | Bulk Product b393eab2 | Clothing | $457.18 | 36 | ★ 4.4 | 99 | BULK-43b56b1b |
| 11629 | Bulk Product 1cc88125 | Clothing | $326.51 | 85 | ★ 0.6 | 5 | BULK-eb293df5 |
| 11630 | Bulk Product 1137d561 | Books | $536.06 | 29 | ★ 4.3 | 30 | BULK-380c0b82 |
| 11631 | Bulk Product 6bc9326d | Sports & Outdoors | $362.79 | 300 | ★ 1.3 | 43 | BULK-cd033620 |
| 11632 | Bulk Product 7bc9c848 | Sports & Outdoors | $306.71 | 168 | ★ 3.2 | 98 | BULK-95b92765 |
| 11633 | Bulk Product 1775908f | Electronics | $193.92 | 312 | ★ 4.4 | 81 | BULK-e4656933 |
| 11634 | Bulk Product 79b6f2f5 | Home & Garden | $914.86 | 265 | ★ 1.0 | 10 | BULK-3ce0d1d7 |
| 11635 | Bulk Product db3e69b3 | Home & Garden | $759.65 | 285 | ★ 3.9 | 9 | BULK-27636488 |
| 11636 | Bulk Product afe5ffda | Sports & Outdoors | $851.32 | 65 | ★ 1.8 | 70 | BULK-802b877c |
| 11637 | Bulk Product eba24a89 | Sports & Outdoors | $374.86 | 58 | ★ 3.2 | 34 | BULK-dcc26694 |
| 11638 | Bulk Product 4f8f66ff | Books | $44.71 | 448 | ★ 2.4 | 46 | BULK-7bdce3cf |
| 11639 | Bulk Product eb44dcce | Books | $967.65 | 314 | ★ 0.6 | 63 | BULK-64b73d85 |
| 11640 | Bulk Product d602fe4a | Electronics | $34.40 | 415 | ★ 3.7 | 2 | BULK-07c766cb |
| 11641 | Bulk Product fec5f8b5 | Electronics | $466.67 | 437 | ★ 2.1 | 24 | BULK-0fac7d5a |
| 11642 | Bulk Product 0ef3b924 | Sports & Outdoors | $393.54 | 300 | ★ 3.1 | 2 | BULK-9c99464b |
| 11643 | Bulk Product 8a0dbbbd | Home & Garden | $743.23 | 257 | ★ 3.1 | 82 | BULK-0317cd62 |
| 11644 | Bulk Product fdb94afd | Electronics | $824.70 | 46 | ★ 1.2 | 65 | BULK-9f1e70ef |
| 11645 | Bulk Product a7e1ef7d | Home & Garden | $156.04 | 473 | ★ 1.0 | 91 | BULK-65c99cf6 |
| 11646 | Bulk Product 25d590a1 | Books | $236.09 | 476 | ★ 0.4 | 41 | BULK-31843a68 |
| 11647 | Bulk Product f4093119 | Books | $739.08 | 495 | ★ 2.8 | 13 | BULK-a98e3e5f |
| 11648 | Bulk Product 8c311bc1 | Toys & Games | $758.81 | 160 | ★ 4.0 | 84 | BULK-36d2ca22 |
| 11649 | Bulk Product 57ef3c48 | Books | $214.57 | 90 | ★ 0.6 | 84 | BULK-89f449c6 |
| 11650 | Bulk Product 09e15d82 | Clothing | $258.78 | 187 | ★ 1.1 | 61 | BULK-f0bb70f5 |
| 11651 | Bulk Product 1e985084 | Sports & Outdoors | $684.33 | 226 | ★ 3.0 | 99 | BULK-0f3cad75 |
| 11652 | Bulk Product 3170464e | Home & Garden | $47.67 | 373 | ★ 1.2 | 84 | BULK-bf5f962c |
| 11653 | Bulk Product a4fcb2ad | Home & Garden | $466.18 | 88 | ★ 4.1 | 74 | BULK-66847413 |
| 11654 | Bulk Product b1e6a27c | Books | $237.38 | 29 | ★ 4.0 | 39 | BULK-fcc0701f |
| 11655 | Bulk Product c7813fdd | Books | $978.79 | 425 | ★ 3.4 | 59 | BULK-f41c28af |
| 11656 | Bulk Product 0ffe43d2 | Sports & Outdoors | $137.35 | 440 | ★ 4.8 | 55 | BULK-7ebf612d |
| 11657 | Bulk Product b864b4d5 | Sports & Outdoors | $570.61 | 187 | ★ 1.5 | 97 | BULK-bffdb543 |
| 11658 | Bulk Product e7489f08 | Books | $34.78 | 479 | ★ 2.0 | 68 | BULK-20123a38 |
| 11659 | Bulk Product c1114fd8 | Clothing | $37.34 | 101 | ★ 0.5 | 29 | BULK-dfd97f11 |
// 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
};
}