Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 23610 | Bulk Product 240ed601 | Home & Garden | $61.24 | 4 | ★ 3.5 | 56 | BULK-fe269744 |
| 23611 | Bulk Product b3263cbb | Home & Garden | $170.00 | 495 | ★ 0.6 | 9 | BULK-346f6f06 |
| 23612 | Bulk Product aad9134d | Books | $86.71 | 317 | ★ 1.1 | 75 | BULK-42f3974e |
| 23613 | Bulk Product 41f63a0b | Toys & Games | $864.49 | 477 | ★ 2.3 | 18 | BULK-8ee65602 |
| 23614 | Bulk Product 138a8f23 | Home & Garden | $684.02 | 425 | ★ 4.5 | 8 | BULK-a96ce8b2 |
| 23615 | Bulk Product 8846c01b | Home & Garden | $639.83 | 321 | ★ 4.1 | 49 | BULK-a2c90a75 |
| 23616 | Bulk Product 49f073df | Books | $529.61 | 84 | ★ 0.5 | 21 | BULK-5d51f56f |
| 23617 | Bulk Product 6adb3320 | Toys & Games | $352.18 | 278 | ★ 3.8 | 93 | BULK-89f356ed |
| 23618 | Bulk Product 9ef6378d | Home & Garden | $849.23 | 396 | ★ 0.5 | 94 | BULK-61cb780b |
| 23619 | Bulk Product 6e6d393a | Home & Garden | $941.70 | 448 | ★ 4.3 | 70 | BULK-3f807b2e |
| 23620 | Bulk Product 34fbe875 | Books | $353.59 | 381 | ★ 4.8 | 36 | BULK-9ee07310 |
| 23621 | Bulk Product 3697ae05 | Electronics | $163.37 | 379 | ★ 4.1 | 80 | BULK-33b3aa5d |
| 23622 | Bulk Product fa495061 | Toys & Games | $259.43 | 371 | ★ 2.2 | 43 | BULK-5de459c4 |
| 23623 | Bulk Product b447b536 | Electronics | $226.65 | 84 | ★ 2.1 | 1 | BULK-39858a24 |
| 23624 | Bulk Product 0f746f8f | Toys & Games | $282.23 | 202 | ★ 2.0 | 78 | BULK-b428517b |
| 23625 | Bulk Product 8edfeffd | Electronics | $987.68 | 316 | ★ 0.8 | 58 | BULK-38667671 |
| 23626 | Bulk Product d7ed3727 | Home & Garden | $34.24 | 6 | ★ 1.0 | 88 | BULK-fba45dc6 |
| 23627 | Bulk Product ffd66d74 | Electronics | $989.30 | 319 | ★ 4.2 | 46 | BULK-86d21f3d |
| 23628 | Bulk Product e306f785 | Electronics | $929.63 | 310 | ★ 3.5 | 39 | BULK-386d3d0d |
| 23629 | Bulk Product 21e26910 | Home & Garden | $678.52 | 424 | ★ 4.5 | 72 | BULK-391525c8 |
| 23630 | Bulk Product e78299c8 | Books | $692.15 | 110 | ★ 3.7 | 93 | BULK-be71f1c7 |
| 23631 | Bulk Product dee3cd80 | Home & Garden | $472.61 | 381 | ★ 3.2 | 62 | BULK-48871d04 |
| 23632 | Bulk Product 072a22ff | Books | $354.30 | 284 | ★ 1.6 | 34 | BULK-28d7681d |
| 23633 | Bulk Product df21000c | Clothing | $519.16 | 124 | ★ 4.0 | 18 | BULK-6d89b88c |
| 23634 | Bulk Product 2104b668 | Clothing | $940.96 | 273 | ★ 4.3 | 30 | BULK-24a5d302 |
| 23635 | Bulk Product b3cfe917 | Home & Garden | $525.89 | 320 | ★ 3.3 | 35 | BULK-e0944143 |
| 23636 | Bulk Product 470ac8e0 | Sports & Outdoors | $301.14 | 127 | ★ 3.8 | 10 | BULK-ea1bc4c3 |
| 23637 | Bulk Product 12a42a53 | Sports & Outdoors | $626.63 | 276 | ★ 0.9 | 19 | BULK-649a4439 |
| 23638 | Bulk Product 6473dd03 | Clothing | $680.13 | 185 | ★ 4.3 | 94 | BULK-cce8e220 |
| 23639 | Bulk Product daa03ce9 | Electronics | $833.77 | 217 | ★ 4.3 | 26 | BULK-b3f580c2 |
| 23640 | Bulk Product 0bf3076f | Sports & Outdoors | $476.75 | 332 | ★ 2.2 | 38 | BULK-f7c2bce5 |
| 23641 | Bulk Product 9f9acb27 | Toys & Games | $33.28 | 423 | ★ 1.2 | 93 | BULK-f5e229b0 |
| 23642 | Bulk Product 1f3703d5 | Home & Garden | $744.38 | 493 | ★ 1.1 | 80 | BULK-5b06acca |
| 23643 | Bulk Product 896541e0 | Toys & Games | $332.30 | 101 | ★ 5.0 | 5 | BULK-c93f584a |
| 23644 | Bulk Product e3003398 | Clothing | $151.79 | 185 | ★ 2.7 | 44 | BULK-63c442ea |
| 23645 | Bulk Product b9bb3936 | Toys & Games | $935.20 | 197 | ★ 4.1 | 1 | BULK-ed8210a7 |
| 23646 | Bulk Product a4e1a219 | Clothing | $811.71 | 472 | ★ 3.3 | 14 | BULK-a3eca7c4 |
| 23647 | Bulk Product e48ce17a | Books | $722.90 | 443 | ★ 1.8 | 63 | BULK-f887d677 |
| 23648 | Bulk Product d7f85676 | Books | $637.56 | 487 | ★ 1.0 | 81 | BULK-928292ed |
| 23649 | Bulk Product 48a6fe5d | Home & Garden | $523.61 | 118 | ★ 4.3 | 39 | BULK-86e33b89 |
| 23650 | Bulk Product 5c2ad949 | Home & Garden | $886.47 | 54 | ★ 4.8 | 51 | BULK-e5d24bba |
| 23651 | Bulk Product 0662f528 | Sports & Outdoors | $484.97 | 227 | ★ 0.7 | 26 | BULK-f5de9689 |
| 23652 | Bulk Product 010b79f5 | Clothing | $564.40 | 87 | ★ 2.8 | 47 | BULK-44d016c6 |
| 23653 | Bulk Product 2e90acb9 | Books | $902.87 | 110 | ★ 4.8 | 96 | BULK-958ad1d3 |
| 23654 | Bulk Product ac000188 | Toys & Games | $169.99 | 15 | ★ 0.4 | 54 | BULK-72a19bc1 |
| 23655 | Bulk Product fd3e4df3 | Toys & Games | $809.81 | 190 | ★ 2.5 | 72 | BULK-086069ba |
| 23656 | Bulk Product d45440ef | Home & Garden | $778.27 | 261 | ★ 2.6 | 21 | BULK-bcbf86b1 |
| 23657 | Bulk Product e932eb30 | Home & Garden | $561.84 | 420 | ★ 4.5 | 98 | BULK-9a33c659 |
| 23658 | Bulk Product 3bd1d413 | Toys & Games | $303.34 | 258 | ★ 4.6 | 53 | BULK-4813b21e |
| 23659 | Bulk Product 0b63fffc | Toys & Games | $153.86 | 192 | ★ 3.8 | 52 | BULK-f62ba1cd |
// 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
};
}