Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 11660 | Bulk Product c2b04e5c | Home & Garden | $1,005.96 | 22 | ★ 2.4 | 76 | BULK-0acdc5b6 |
| 11661 | Bulk Product 1a46af2b | Books | $526.30 | 287 | ★ 4.6 | 0 | BULK-e6409e74 |
| 11662 | Bulk Product 4c020769 | Electronics | $269.45 | 249 | ★ 4.9 | 68 | BULK-ca7d4ebb |
| 11663 | Bulk Product 33b88293 | Toys & Games | $974.25 | 203 | ★ 0.4 | 98 | BULK-b7d59d5d |
| 11664 | Bulk Product d62782b4 | Toys & Games | $794.16 | 36 | ★ 2.6 | 47 | BULK-9c4d731b |
| 11665 | Bulk Product 27a9a3a8 | Clothing | $745.12 | 337 | ★ 4.5 | 37 | BULK-483daf29 |
| 11666 | Bulk Product bcd64972 | Books | $567.53 | 308 | ★ 1.5 | 40 | BULK-99f4aaf8 |
| 11667 | Bulk Product 45e95cb7 | Sports & Outdoors | $206.42 | 60 | ★ 4.9 | 29 | BULK-9413f0cd |
| 11668 | Bulk Product 7df2970a | Clothing | $96.22 | 19 | ★ 2.3 | 76 | BULK-e58c1be5 |
| 11669 | Bulk Product 2c210a23 | Electronics | $970.63 | 498 | ★ 2.9 | 87 | BULK-abe8126d |
| 11670 | Bulk Product 0bb5bc8e | Toys & Games | $996.52 | 143 | ★ 0.4 | 20 | BULK-99a889c4 |
| 11671 | Bulk Product e59883fc | Sports & Outdoors | $536.98 | 20 | ★ 2.1 | 64 | BULK-da853635 |
| 11672 | Bulk Product dda41792 | Books | $447.61 | 475 | ★ 0.8 | 94 | BULK-138e8448 |
| 11673 | Bulk Product 02165a4b | Electronics | $254.41 | 349 | ★ 3.2 | 43 | BULK-caef8004 |
| 11674 | Bulk Product 81eeea97 | Toys & Games | $540.14 | 105 | ★ 0.4 | 77 | BULK-8d625625 |
| 11675 | Bulk Product e961bcd7 | Books | $793.22 | 389 | ★ 4.4 | 18 | BULK-1d14c922 |
| 11676 | Bulk Product 81d38d7c | Clothing | $761.10 | 246 | ★ 0.4 | 33 | BULK-c62e3d95 |
| 11677 | Bulk Product b5bb9a46 | Home & Garden | $191.71 | 178 | ★ 4.3 | 63 | BULK-ed8c8c46 |
| 11678 | Bulk Product a7f5a69e | Clothing | $647.03 | 478 | ★ 2.1 | 80 | BULK-0f35be91 |
| 11679 | Bulk Product a6044241 | Clothing | $579.13 | 479 | ★ 0.8 | 5 | BULK-565397fe |
| 11680 | Bulk Product f9c5f87b | Books | $991.73 | 254 | ★ 4.5 | 74 | BULK-d39196fc |
| 11681 | Bulk Product 3416c1d6 | Electronics | $882.75 | 359 | ★ 0.6 | 18 | BULK-6e16440a |
| 11682 | Bulk Product ac8ad48f | Home & Garden | $663.94 | 132 | ★ 2.6 | 54 | BULK-cb6d0a52 |
| 11683 | Bulk Product af8600b0 | Electronics | $290.73 | 343 | ★ 3.4 | 69 | BULK-4dd69413 |
| 11684 | Bulk Product 1306f65a | Clothing | $610.46 | 245 | ★ 1.2 | 27 | BULK-feb89359 |
| 11685 | Bulk Product 0378a492 | Clothing | $698.58 | 389 | ★ 3.1 | 47 | BULK-084e6f95 |
| 11686 | Bulk Product 906e5a68 | Electronics | $455.74 | 291 | ★ 3.9 | 84 | BULK-d7f7ae6c |
| 11687 | Bulk Product 3cf97654 | Home & Garden | $907.70 | 182 | ★ 0.1 | 5 | BULK-d9d89660 |
| 11688 | Bulk Product a87fc591 | Toys & Games | $744.22 | 23 | ★ 3.6 | 80 | BULK-d2787847 |
| 11689 | Bulk Product 350e1ee5 | Home & Garden | $723.88 | 456 | ★ 0.9 | 98 | BULK-c1b49eb1 |
| 11690 | Bulk Product 43f277c5 | Books | $566.52 | 447 | ★ 1.3 | 10 | BULK-0a1866e0 |
| 11691 | Bulk Product a4cc15d8 | Books | $1,002.03 | 287 | ★ 3.6 | 34 | BULK-230ad96b |
| 11692 | Bulk Product f5783549 | Home & Garden | $239.58 | 488 | ★ 3.5 | 82 | BULK-6b4802b1 |
| 11693 | Bulk Product 4462d9fe | Home & Garden | $471.25 | 405 | ★ 2.2 | 81 | BULK-ff5b2afc |
| 11694 | Bulk Product 10be1740 | Home & Garden | $806.31 | 88 | ★ 2.4 | 26 | BULK-28dd6394 |
| 11695 | Bulk Product 1638fb70 | Books | $980.17 | 350 | ★ 2.3 | 25 | BULK-1aa2f228 |
| 11696 | Bulk Product 107933fd | Toys & Games | $224.41 | 312 | ★ 1.0 | 7 | BULK-5357aceb |
| 11697 | Bulk Product cda7bdc6 | Sports & Outdoors | $361.96 | 296 | ★ 0.8 | 40 | BULK-d60b9aa2 |
| 11698 | Bulk Product 9f0f4ba0 | Clothing | $61.28 | 36 | ★ 4.0 | 53 | BULK-837658f3 |
| 11699 | Bulk Product 3a88aa47 | Toys & Games | $838.65 | 458 | ★ 0.5 | 12 | BULK-b782fc53 |
| 11700 | Bulk Product f07c1412 | Sports & Outdoors | $415.72 | 328 | ★ 3.4 | 73 | BULK-e9591615 |
| 11701 | Bulk Product 84bca0ee | Clothing | $122.04 | 340 | ★ 1.1 | 45 | BULK-cf29a2ba |
| 11702 | Bulk Product bbc036c5 | Home & Garden | $842.58 | 291 | ★ 1.2 | 6 | BULK-08e04c2c |
| 11703 | Bulk Product ed79b0a1 | Electronics | $269.83 | 498 | ★ 1.8 | 93 | BULK-a956b8cf |
| 11704 | Bulk Product 3efda39b | Electronics | $601.38 | 202 | ★ 1.9 | 22 | BULK-f2e8e849 |
| 11705 | Bulk Product 1022ab11 | Clothing | $565.14 | 284 | ★ 2.5 | 61 | BULK-cc6f9994 |
| 11706 | Bulk Product 7154dc0c | Clothing | $205.30 | 163 | ★ 3.7 | 51 | BULK-02bb990a |
| 11707 | Bulk Product da2deca3 | Sports & Outdoors | $522.87 | 96 | ★ 4.8 | 31 | BULK-bcdef278 |
| 11708 | Bulk Product 752a8934 | Home & Garden | $651.92 | 17 | ★ 2.0 | 7 | BULK-3e4dc3fd |
| 11709 | Bulk Product aa0d5389 | Toys & Games | $863.37 | 274 | ★ 4.3 | 81 | BULK-24801ee1 |
// 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
};
}