Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 14510 | Bulk Product 7e302217 | Clothing | $396.22 | 24 | ★ 2.7 | 79 | BULK-d5effd4a |
| 14511 | Bulk Product 744111e2 | Toys & Games | $732.34 | 217 | ★ 0.7 | 61 | BULK-6a7ac5de |
| 14512 | Bulk Product 460f810c | Toys & Games | $714.01 | 173 | ★ 3.8 | 5 | BULK-59a41e18 |
| 14513 | Bulk Product 9134609c | Toys & Games | $225.49 | 11 | ★ 4.2 | 2 | BULK-5747fb43 |
| 14514 | Bulk Product 1320096a | Electronics | $104.79 | 118 | ★ 0.8 | 77 | BULK-c2fd1335 |
| 14515 | Bulk Product 7abd92c0 | Sports & Outdoors | $272.07 | 217 | ★ 2.2 | 28 | BULK-713093f5 |
| 14516 | Bulk Product d7833b25 | Books | $974.62 | 464 | ★ 3.8 | 56 | BULK-09846315 |
| 14517 | Bulk Product 65b59d55 | Sports & Outdoors | $686.49 | 493 | ★ 0.8 | 3 | BULK-450cfd2b |
| 14518 | Bulk Product d70cd731 | Home & Garden | $790.35 | 43 | ★ 3.3 | 40 | BULK-09d10c59 |
| 14519 | Bulk Product fa89d8a9 | Sports & Outdoors | $861.83 | 268 | ★ 0.9 | 35 | BULK-71dcef9b |
| 14520 | Bulk Product cf371c76 | Sports & Outdoors | $99.11 | 181 | ★ 1.2 | 87 | BULK-8514f939 |
| 14521 | Bulk Product 7ba84cd2 | Sports & Outdoors | $411.48 | 329 | ★ 4.4 | 18 | BULK-c5add64c |
| 14522 | Bulk Product d89fc33e | Home & Garden | $305.29 | 194 | ★ 0.8 | 41 | BULK-27e68280 |
| 14523 | Bulk Product ae8142ac | Books | $535.07 | 83 | ★ 3.2 | 24 | BULK-74a20d7f |
| 14524 | Bulk Product 991837ca | Toys & Games | $859.23 | 39 | ★ 4.3 | 34 | BULK-03d22e22 |
| 14525 | Bulk Product 580b17cd | Clothing | $500.86 | 3 | ★ 1.5 | 5 | BULK-e70626f5 |
| 14526 | Bulk Product 1e265df1 | Toys & Games | $422.98 | 167 | ★ 2.7 | 65 | BULK-16ec72ae |
| 14527 | Bulk Product d3ab2c14 | Home & Garden | $427.64 | 469 | ★ 5.0 | 80 | BULK-9e21c26b |
| 14528 | Bulk Product a212c123 | Home & Garden | $585.62 | 121 | ★ 1.0 | 9 | BULK-f3837e66 |
| 14529 | Bulk Product 969e60a8 | Books | $477.76 | 306 | ★ 3.0 | 63 | BULK-8eec41fa |
| 14530 | Bulk Product 1b8a6a15 | Home & Garden | $626.79 | 252 | ★ 3.6 | 2 | BULK-2a6a3bd6 |
| 14531 | Bulk Product 7ddc10df | Electronics | $894.58 | 87 | ★ 3.5 | 21 | BULK-fcf016a6 |
| 14532 | Bulk Product 99e36f57 | Toys & Games | $303.36 | 102 | ★ 0.2 | 17 | BULK-b20b4bce |
| 14533 | Bulk Product f103f05c | Books | $545.09 | 137 | ★ 0.5 | 37 | BULK-c253d495 |
| 14534 | Bulk Product 7de07587 | Clothing | $632.25 | 175 | ★ 2.7 | 18 | BULK-4dcf7bac |
| 14535 | Bulk Product 28e5cfbb | Electronics | $761.68 | 120 | ★ 1.2 | 49 | BULK-453302d3 |
| 14536 | Bulk Product 88de92cf | Toys & Games | $350.37 | 449 | ★ 2.5 | 48 | BULK-86996a6e |
| 14537 | Bulk Product 36586dd4 | Clothing | $40.28 | 393 | ★ 4.1 | 73 | BULK-36e01e5c |
| 14538 | Bulk Product f6c544bf | Books | $891.93 | 491 | ★ 3.5 | 99 | BULK-aec45863 |
| 14539 | Bulk Product f5aeecf3 | Home & Garden | $407.45 | 371 | ★ 2.3 | 86 | BULK-e1990d7d |
| 14540 | Bulk Product 034d94e1 | Toys & Games | $931.00 | 492 | ★ 0.1 | 38 | BULK-7fd235e7 |
| 14541 | Bulk Product 2f0e8ce9 | Electronics | $844.89 | 393 | ★ 1.8 | 50 | BULK-61a74b8c |
| 14542 | Bulk Product 958159b9 | Books | $852.63 | 472 | ★ 4.6 | 40 | BULK-c949c134 |
| 14543 | Bulk Product 35494b8b | Books | $646.68 | 464 | ★ 0.7 | 77 | BULK-97455df5 |
| 14544 | Bulk Product f0b97144 | Toys & Games | $636.28 | 142 | ★ 2.7 | 35 | BULK-5ae73f9b |
| 14545 | Bulk Product bdecbe54 | Clothing | $511.44 | 108 | ★ 3.1 | 62 | BULK-23775c1d |
| 14546 | Bulk Product f13a9d95 | Toys & Games | $906.54 | 37 | ★ 3.0 | 44 | BULK-fe468703 |
| 14547 | Bulk Product 387bd4e5 | Clothing | $863.48 | 50 | ★ 2.3 | 25 | BULK-b8c92f95 |
| 14548 | Bulk Product 4436d5e4 | Toys & Games | $969.28 | 446 | ★ 0.0 | 62 | BULK-01ea3f7a |
| 14549 | Bulk Product 16fe1e11 | Home & Garden | $789.96 | 302 | ★ 4.8 | 61 | BULK-861b1254 |
| 14550 | Bulk Product 99dbb8b9 | Books | $927.14 | 312 | ★ 1.5 | 71 | BULK-a9eaafaf |
| 14551 | Bulk Product 81d0c9eb | Toys & Games | $736.30 | 309 | ★ 3.6 | 89 | BULK-519dc42d |
| 14552 | Bulk Product 988994e0 | Sports & Outdoors | $952.98 | 286 | ★ 4.6 | 20 | BULK-5cf6fc3b |
| 14553 | Bulk Product 1df3796a | Electronics | $868.08 | 459 | ★ 0.1 | 36 | BULK-4d12fdea |
| 14554 | Bulk Product e6d9e0c2 | Sports & Outdoors | $325.17 | 162 | ★ 4.2 | 60 | BULK-bfca3315 |
| 14555 | Bulk Product b6d14a96 | Sports & Outdoors | $860.52 | 115 | ★ 0.5 | 94 | BULK-57b26ab0 |
| 14556 | Bulk Product 73ffb8fb | Home & Garden | $442.66 | 410 | ★ 0.6 | 76 | BULK-93f61c98 |
| 14557 | Bulk Product 99febdc8 | Electronics | $395.34 | 54 | ★ 0.8 | 13 | BULK-5e6186fa |
| 14558 | Bulk Product 796cd2e2 | Books | $86.88 | 364 | ★ 4.3 | 79 | BULK-33eaa389 |
| 14559 | Bulk Product 4575842a | Sports & Outdoors | $302.94 | 263 | ★ 4.9 | 43 | BULK-d94f157c |
// 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
};
}