Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 11460 | Bulk Product 725d3f0e | Books | $884.60 | 237 | ★ 1.5 | 23 | BULK-3fdcf450 |
| 11461 | Bulk Product 3ec2c6c3 | Sports & Outdoors | $178.99 | 237 | ★ 2.6 | 25 | BULK-1b95862a |
| 11462 | Bulk Product 7b70578d | Clothing | $627.44 | 466 | ★ 4.9 | 28 | BULK-3c0a10e5 |
| 11463 | Bulk Product f76179f8 | Electronics | $108.29 | 384 | ★ 3.5 | 58 | BULK-c8cb7cc3 |
| 11464 | Bulk Product afedda90 | Sports & Outdoors | $125.04 | 413 | ★ 3.0 | 30 | BULK-8313a55e |
| 11465 | Bulk Product e445371b | Toys & Games | $148.42 | 491 | ★ 1.5 | 29 | BULK-cbd6fec7 |
| 11466 | Bulk Product 4fd1a0cd | Home & Garden | $344.35 | 281 | ★ 3.3 | 68 | BULK-4524721e |
| 11467 | Bulk Product 2b298545 | Sports & Outdoors | $305.25 | 126 | ★ 4.0 | 33 | BULK-dc7e6ade |
| 11468 | Bulk Product 2d0a030b | Clothing | $197.40 | 307 | ★ 0.3 | 53 | BULK-94a097f9 |
| 11469 | Bulk Product 3fd1eeca | Electronics | $793.47 | 64 | ★ 3.9 | 98 | BULK-00bc1048 |
| 11470 | Bulk Product d03dea33 | Home & Garden | $952.96 | 179 | ★ 4.5 | 29 | BULK-10a6d84b |
| 11471 | Bulk Product 7610e27e | Books | $538.29 | 309 | ★ 2.3 | 9 | BULK-5d28663b |
| 11472 | Bulk Product 600e003d | Toys & Games | $167.18 | 105 | ★ 1.5 | 0 | BULK-49a1a079 |
| 11473 | Bulk Product 90b52840 | Electronics | $809.50 | 110 | ★ 1.5 | 48 | BULK-d923bbf9 |
| 11474 | Bulk Product c1e27d6f | Books | $774.91 | 411 | ★ 0.6 | 50 | BULK-7348941b |
| 11475 | Bulk Product 6b59f92b | Sports & Outdoors | $411.80 | 424 | ★ 2.9 | 42 | BULK-5e88abaf |
| 11476 | Bulk Product e884e6f8 | Books | $348.03 | 9 | ★ 1.8 | 3 | BULK-1f2b35b1 |
| 11477 | Bulk Product 4c38d24c | Clothing | $271.43 | 254 | ★ 3.6 | 35 | BULK-04c84dcf |
| 11478 | Bulk Product 5c48cadf | Books | $732.63 | 292 | ★ 3.4 | 71 | BULK-5c1bd583 |
| 11479 | Bulk Product 779c37bd | Toys & Games | $259.54 | 21 | ★ 2.0 | 46 | BULK-7d7908c7 |
| 11480 | Bulk Product ab61d168 | Sports & Outdoors | $708.26 | 438 | ★ 3.8 | 9 | BULK-d133ea69 |
| 11481 | Bulk Product 28a0bb45 | Electronics | $388.36 | 83 | ★ 2.1 | 34 | BULK-4eeb168e |
| 11482 | Bulk Product d47c8b64 | Sports & Outdoors | $797.41 | 96 | ★ 4.8 | 8 | BULK-da8d9fac |
| 11483 | Bulk Product e5e4bc68 | Toys & Games | $643.94 | 62 | ★ 3.7 | 55 | BULK-df42e12f |
| 11484 | Bulk Product d06d5bc2 | Home & Garden | $113.94 | 75 | ★ 3.3 | 61 | BULK-5b61797e |
| 11485 | Bulk Product 79088a58 | Books | $903.54 | 495 | ★ 3.7 | 58 | BULK-ddb5673a |
| 11486 | Bulk Product e318bb4c | Clothing | $1,008.88 | 425 | ★ 4.5 | 10 | BULK-0205bc72 |
| 11487 | Bulk Product 8a3329c9 | Sports & Outdoors | $240.86 | 312 | ★ 0.8 | 73 | BULK-69408fcc |
| 11488 | Bulk Product 69ef518a | Sports & Outdoors | $157.65 | 399 | ★ 2.6 | 36 | BULK-4d5d7047 |
| 11489 | Bulk Product 59e18f1e | Electronics | $488.29 | 177 | ★ 1.8 | 30 | BULK-67323238 |
| 11490 | Bulk Product fe45e74a | Home & Garden | $561.47 | 180 | ★ 1.6 | 85 | BULK-3e142f8d |
| 11491 | Bulk Product 3fcbe004 | Electronics | $783.02 | 235 | ★ 0.5 | 99 | BULK-16f936a4 |
| 11492 | Bulk Product 4e5382d8 | Toys & Games | $252.90 | 476 | ★ 3.3 | 7 | BULK-b8ba93d6 |
| 11493 | Bulk Product a87a26e5 | Books | $387.14 | 294 | ★ 1.7 | 67 | BULK-1b2225e8 |
| 11494 | Bulk Product 404e4fbe | Toys & Games | $238.11 | 89 | ★ 2.9 | 48 | BULK-f48a92df |
| 11495 | Bulk Product 480ff731 | Sports & Outdoors | $444.41 | 73 | ★ 4.8 | 96 | BULK-c69cca76 |
| 11496 | Bulk Product ac461b02 | Sports & Outdoors | $80.12 | 422 | ★ 3.3 | 96 | BULK-8728bbb4 |
| 11497 | Bulk Product 8fb378fc | Books | $471.56 | 293 | ★ 0.5 | 31 | BULK-028d60c4 |
| 11498 | Bulk Product c95070c9 | Home & Garden | $863.53 | 103 | ★ 2.8 | 65 | BULK-60bbc42c |
| 11499 | Bulk Product 62ddb178 | Electronics | $787.36 | 213 | ★ 3.2 | 2 | BULK-fe33374e |
| 11500 | Bulk Product 7c18c0cc | Clothing | $551.35 | 311 | ★ 2.7 | 42 | BULK-e796191e |
| 11501 | Bulk Product ecca082e | Books | $59.27 | 198 | ★ 3.4 | 82 | BULK-6fb4f712 |
| 11502 | Bulk Product 26f1a0c9 | Books | $282.83 | 257 | ★ 3.6 | 50 | BULK-c715a4be |
| 11503 | Bulk Product 3785f188 | Books | $450.39 | 178 | ★ 0.9 | 89 | BULK-c5bcad9f |
| 11504 | Bulk Product 33b22d6a | Toys & Games | $499.68 | 389 | ★ 0.8 | 72 | BULK-21a73b1c |
| 11505 | Bulk Product 49326c78 | Toys & Games | $732.87 | 8 | ★ 1.7 | 75 | BULK-c950a731 |
| 11506 | Bulk Product 189ccfc5 | Toys & Games | $761.07 | 268 | ★ 2.5 | 62 | BULK-00f32000 |
| 11507 | Bulk Product 7c113f07 | Electronics | $115.64 | 286 | ★ 4.8 | 83 | BULK-cbccff0d |
| 11508 | Bulk Product 0a93f9fc | Home & Garden | $504.85 | 431 | ★ 4.6 | 63 | BULK-9126d86b |
| 11509 | Bulk Product 197076eb | Electronics | $908.45 | 63 | ★ 4.4 | 32 | BULK-a6e387c6 |
// 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
};
}