Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 20410 | Bulk Product 3cd04d11 | Electronics | $460.96 | 280 | ★ 2.1 | 41 | BULK-c52cbeda |
| 20411 | Bulk Product 91b07ef4 | Toys & Games | $371.11 | 79 | ★ 3.8 | 19 | BULK-30242a03 |
| 20412 | Bulk Product c7bc9bb5 | Sports & Outdoors | $806.28 | 298 | ★ 1.1 | 21 | BULK-af5cf4df |
| 20413 | Bulk Product d981df1d | Home & Garden | $320.24 | 94 | ★ 1.7 | 77 | BULK-420ebc3e |
| 20414 | Bulk Product ef64bd5c | Electronics | $462.72 | 164 | ★ 2.9 | 40 | BULK-9d977044 |
| 20415 | Bulk Product 9a71b7c3 | Sports & Outdoors | $843.34 | 270 | ★ 2.1 | 70 | BULK-7651cf6c |
| 20416 | Bulk Product 17b10565 | Books | $173.64 | 364 | ★ 3.0 | 57 | BULK-29a13cc0 |
| 20417 | Bulk Product 9739a8bd | Clothing | $138.34 | 96 | ★ 2.0 | 19 | BULK-0e26d4a3 |
| 20418 | Bulk Product 2f8f01b8 | Electronics | $328.63 | 134 | ★ 3.4 | 67 | BULK-e6f9d1a0 |
| 20419 | Bulk Product 48807c0c | Sports & Outdoors | $792.56 | 486 | ★ 3.6 | 63 | BULK-47acb340 |
| 20420 | Bulk Product 2c67f1c4 | Electronics | $421.61 | 51 | ★ 1.1 | 20 | BULK-9a740dbb |
| 20421 | Bulk Product 025d65db | Home & Garden | $739.69 | 488 | ★ 4.5 | 57 | BULK-b354a94a |
| 20422 | Bulk Product c48dadac | Home & Garden | $168.24 | 92 | ★ 1.3 | 60 | BULK-7947d36f |
| 20423 | Bulk Product fbe602b4 | Clothing | $498.10 | 128 | ★ 2.0 | 7 | BULK-82b2da4c |
| 20424 | Bulk Product e49c3325 | Clothing | $33.43 | 129 | ★ 4.7 | 44 | BULK-87e1d4bb |
| 20425 | Bulk Product f8581c4f | Toys & Games | $400.92 | 394 | ★ 3.5 | 82 | BULK-7e7f4fd7 |
| 20426 | Bulk Product d44418ec | Books | $65.03 | 328 | ★ 4.6 | 58 | BULK-b7e89af1 |
| 20427 | Bulk Product 9eb8e635 | Sports & Outdoors | $83.51 | 265 | ★ 0.6 | 95 | BULK-5ed9638a |
| 20428 | Bulk Product 45d25592 | Books | $875.05 | 150 | ★ 4.9 | 67 | BULK-5f07101d |
| 20429 | Bulk Product 1ce10e7a | Books | $493.57 | 118 | ★ 0.0 | 41 | BULK-dafc3ecd |
| 20430 | Bulk Product 450a2353 | Electronics | $344.11 | 348 | ★ 3.0 | 90 | BULK-2db5efeb |
| 20431 | Bulk Product dfeadfd1 | Clothing | $422.20 | 352 | ★ 1.5 | 32 | BULK-cb5d620a |
| 20432 | Bulk Product 8be62d66 | Clothing | $983.86 | 478 | ★ 3.9 | 70 | BULK-27ea70bf |
| 20433 | Bulk Product efffa0d7 | Electronics | $629.94 | 43 | ★ 1.8 | 99 | BULK-2d0b213d |
| 20434 | Bulk Product 6221c24d | Books | $660.07 | 382 | ★ 4.1 | 36 | BULK-aa28dfd5 |
| 20435 | Bulk Product 1f08815e | Sports & Outdoors | $171.19 | 239 | ★ 1.9 | 28 | BULK-97888d1d |
| 20436 | Bulk Product f71d13f4 | Electronics | $616.32 | 45 | ★ 1.1 | 64 | BULK-0428ba4b |
| 20437 | Bulk Product 5e2b1c28 | Toys & Games | $345.82 | 11 | ★ 1.1 | 97 | BULK-2578044e |
| 20438 | Bulk Product a72ed1b2 | Electronics | $729.43 | 271 | ★ 0.9 | 33 | BULK-ee1091e9 |
| 20439 | Bulk Product a351d92d | Sports & Outdoors | $715.99 | 356 | ★ 4.6 | 25 | BULK-16649ae9 |
| 20440 | Bulk Product a99bcd7b | Home & Garden | $606.26 | 239 | ★ 1.8 | 9 | BULK-39b43fb2 |
| 20441 | Bulk Product 75d6c95b | Clothing | $673.10 | 256 | ★ 1.0 | 71 | BULK-f30a03ce |
| 20442 | Bulk Product f7c5b6f7 | Books | $132.21 | 482 | ★ 4.6 | 14 | BULK-2aad7682 |
| 20443 | Bulk Product 6fa042d5 | Toys & Games | $811.53 | 89 | ★ 1.4 | 20 | BULK-497d3017 |
| 20444 | Bulk Product b41c03c1 | Home & Garden | $280.71 | 139 | ★ 4.5 | 12 | BULK-4f9fbd77 |
| 20445 | Bulk Product f9f2a184 | Sports & Outdoors | $770.61 | 179 | ★ 0.3 | 5 | BULK-22493f94 |
| 20446 | Bulk Product f7e8c385 | Clothing | $342.28 | 334 | ★ 4.6 | 74 | BULK-aeb239f5 |
| 20447 | Bulk Product c6ed1e4b | Toys & Games | $407.70 | 57 | ★ 4.1 | 9 | BULK-7fe840d5 |
| 20448 | Bulk Product 5be5b37e | Home & Garden | $197.09 | 196 | ★ 3.7 | 14 | BULK-2cd86c26 |
| 20449 | Bulk Product ceaeb46f | Toys & Games | $878.94 | 156 | ★ 1.0 | 54 | BULK-49808e66 |
| 20450 | Bulk Product 9df5db26 | Toys & Games | $1,000.02 | 411 | ★ 4.5 | 83 | BULK-6fdcace9 |
| 20451 | Bulk Product a8468f77 | Toys & Games | $10.17 | 138 | ★ 0.3 | 64 | BULK-553bb0a3 |
| 20452 | Bulk Product cfeb7762 | Home & Garden | $803.92 | 58 | ★ 3.5 | 95 | BULK-ef46d3c2 |
| 20453 | Bulk Product 54424497 | Books | $73.36 | 346 | ★ 1.4 | 19 | BULK-142f3aff |
| 20454 | Bulk Product 15735c27 | Electronics | $158.55 | 87 | ★ 1.5 | 62 | BULK-2a176ecc |
| 20455 | Bulk Product 470c7d19 | Toys & Games | $932.14 | 295 | ★ 1.0 | 48 | BULK-4558683d |
| 20456 | Bulk Product ea3cc0c3 | Clothing | $946.54 | 90 | ★ 4.6 | 49 | BULK-5d5a54fe |
| 20457 | Bulk Product 2a5649e0 | Home & Garden | $303.87 | 157 | ★ 1.7 | 18 | BULK-41218547 |
| 20458 | Bulk Product 0d9bd6ff | Toys & Games | $23.20 | 336 | ★ 4.9 | 63 | BULK-2f86d92b |
| 20459 | Bulk Product 33b10c60 | Electronics | $571.96 | 305 | ★ 0.9 | 69 | BULK-f73fe89f |
// 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
};
}