Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 13710 | Bulk Product d50e6e05 | Books | $210.44 | 489 | ★ 4.3 | 51 | BULK-d96a9773 |
| 13711 | Bulk Product 6089ad48 | Toys & Games | $440.21 | 36 | ★ 0.7 | 16 | BULK-75f85aed |
| 13712 | Bulk Product d0355c56 | Sports & Outdoors | $737.14 | 443 | ★ 2.4 | 30 | BULK-c1de76f8 |
| 13713 | Bulk Product 8defe3a9 | Sports & Outdoors | $955.58 | 199 | ★ 2.7 | 16 | BULK-bd992652 |
| 13714 | Bulk Product b4eb1efd | Books | $524.87 | 431 | ★ 4.4 | 42 | BULK-97990ef3 |
| 13715 | Bulk Product 566865aa | Books | $972.28 | 46 | ★ 3.1 | 2 | BULK-0e7f513a |
| 13716 | Bulk Product 4d9804d1 | Clothing | $845.19 | 287 | ★ 0.2 | 16 | BULK-80a49182 |
| 13717 | Bulk Product 1f036328 | Clothing | $979.72 | 346 | ★ 0.6 | 22 | BULK-c600a196 |
| 13718 | Bulk Product 2527cbee | Electronics | $472.79 | 121 | ★ 1.5 | 10 | BULK-e0d4bf07 |
| 13719 | Bulk Product 4bea848b | Electronics | $388.00 | 5 | ★ 0.3 | 35 | BULK-c3e6fc32 |
| 13720 | Bulk Product 697fc562 | Clothing | $638.23 | 452 | ★ 1.7 | 46 | BULK-a6d2aee6 |
| 13721 | Bulk Product 30c63d89 | Toys & Games | $546.76 | 193 | ★ 4.7 | 29 | BULK-7defba92 |
| 13722 | Bulk Product 5eb0c45e | Home & Garden | $34.63 | 274 | ★ 3.6 | 48 | BULK-9069e87b |
| 13723 | Bulk Product 4c62cdce | Books | $566.83 | 484 | ★ 4.5 | 19 | BULK-c86a0159 |
| 13724 | Bulk Product 17f3bd55 | Books | $15.87 | 470 | ★ 3.7 | 30 | BULK-e6771e6c |
| 13725 | Bulk Product 616c4985 | Sports & Outdoors | $286.95 | 485 | ★ 2.6 | 37 | BULK-2962567b |
| 13726 | Bulk Product 7c9a905b | Sports & Outdoors | $445.85 | 376 | ★ 0.9 | 13 | BULK-645bc868 |
| 13727 | Bulk Product 9a89e664 | Sports & Outdoors | $760.06 | 382 | ★ 3.1 | 71 | BULK-c1993627 |
| 13728 | Bulk Product fbbfe8ba | Sports & Outdoors | $670.36 | 324 | ★ 3.6 | 6 | BULK-18c3e682 |
| 13729 | Bulk Product 460d3de2 | Books | $654.77 | 66 | ★ 2.3 | 40 | BULK-36ee9c29 |
| 13730 | Bulk Product e05784b7 | Electronics | $412.54 | 144 | ★ 4.1 | 31 | BULK-d99bddf5 |
| 13731 | Bulk Product cb8900e1 | Electronics | $780.11 | 293 | ★ 0.5 | 21 | BULK-c5ab6952 |
| 13732 | Bulk Product ee96c9eb | Home & Garden | $737.07 | 280 | ★ 0.6 | 24 | BULK-181f6d93 |
| 13733 | Bulk Product bb5fa6c1 | Electronics | $366.29 | 311 | ★ 1.5 | 2 | BULK-24fd733f |
| 13734 | Bulk Product 6dff58fa | Clothing | $712.28 | 14 | ★ 3.1 | 88 | BULK-1c40428e |
| 13735 | Bulk Product 47fd107d | Toys & Games | $1,006.55 | 460 | ★ 2.4 | 78 | BULK-103bc76c |
| 13736 | Bulk Product 625562c6 | Books | $916.50 | 460 | ★ 4.5 | 75 | BULK-35be92e5 |
| 13737 | Bulk Product 4f7da934 | Home & Garden | $134.61 | 95 | ★ 0.7 | 46 | BULK-25a7e26a |
| 13738 | Bulk Product 51588bd3 | Home & Garden | $1,003.09 | 360 | ★ 2.3 | 6 | BULK-5d4d5bab |
| 13739 | Bulk Product 7c72cfa6 | Sports & Outdoors | $725.73 | 424 | ★ 3.1 | 19 | BULK-a867c0b8 |
| 13740 | Bulk Product f1a4bfcc | Clothing | $881.22 | 13 | ★ 4.8 | 94 | BULK-99927b8b |
| 13741 | Bulk Product 614909c1 | Home & Garden | $80.98 | 183 | ★ 2.6 | 68 | BULK-12213ecf |
| 13742 | Bulk Product 0748881a | Toys & Games | $828.11 | 26 | ★ 4.8 | 21 | BULK-21b25d88 |
| 13743 | Bulk Product 87fa6b41 | Toys & Games | $815.71 | 354 | ★ 0.5 | 87 | BULK-46be4014 |
| 13744 | Bulk Product 936930d0 | Clothing | $548.42 | 235 | ★ 2.7 | 74 | BULK-b49c3fdf |
| 13745 | Bulk Product 0f25cfc0 | Home & Garden | $790.96 | 470 | ★ 1.3 | 1 | BULK-001c6bcc |
| 13746 | Bulk Product 2b13b066 | Books | $295.92 | 120 | ★ 1.1 | 4 | BULK-46e6b2fe |
| 13747 | Bulk Product 1da0dbbf | Books | $877.61 | 115 | ★ 2.1 | 28 | BULK-68331da5 |
| 13748 | Bulk Product 834680a7 | Clothing | $779.53 | 294 | ★ 4.9 | 9 | BULK-0cdfbaff |
| 13749 | Bulk Product 87944ddf | Clothing | $46.72 | 357 | ★ 4.2 | 82 | BULK-86bf61c4 |
| 13750 | Bulk Product 028a0ba6 | Toys & Games | $203.51 | 470 | ★ 1.0 | 22 | BULK-30c72cf5 |
| 13751 | Bulk Product db9d6531 | Electronics | $825.06 | 95 | ★ 1.5 | 26 | BULK-892d4637 |
| 13752 | Bulk Product 7b274575 | Home & Garden | $101.40 | 20 | ★ 1.5 | 36 | BULK-a5e2cc43 |
| 13753 | Bulk Product c16a00e5 | Toys & Games | $228.32 | 336 | ★ 2.1 | 79 | BULK-fb98b94c |
| 13754 | Bulk Product 70c584d2 | Home & Garden | $876.47 | 335 | ★ 4.7 | 47 | BULK-7b422105 |
| 13755 | Bulk Product 063e11dc | Books | $228.25 | 308 | ★ 2.7 | 7 | BULK-58d85ecb |
| 13756 | Bulk Product 67139e1d | Sports & Outdoors | $224.38 | 457 | ★ 2.7 | 25 | BULK-ca882d02 |
| 13757 | Bulk Product 855352b2 | Electronics | $883.48 | 130 | ★ 4.3 | 72 | BULK-80460a9d |
| 13758 | Bulk Product 7c53fbbe | Home & Garden | $994.29 | 319 | ★ 4.5 | 43 | BULK-1e812514 |
| 13759 | Bulk Product 2b9fa63e | Toys & Games | $121.85 | 483 | ★ 0.9 | 54 | BULK-1eaf22dc |
// 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
};
}