Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 18510 | Bulk Product 52ace88a | Books | $837.45 | 454 | ★ 1.2 | 80 | BULK-9721162f |
| 18511 | Bulk Product 593058e5 | Toys & Games | $529.47 | 201 | ★ 2.5 | 55 | BULK-2f78e3e9 |
| 18512 | Bulk Product b9173c70 | Toys & Games | $730.60 | 102 | ★ 4.3 | 0 | BULK-76fb75bd |
| 18513 | Bulk Product 5a330590 | Sports & Outdoors | $775.19 | 365 | ★ 3.7 | 14 | BULK-ff6f586a |
| 18514 | Bulk Product 954145e7 | Sports & Outdoors | $987.83 | 361 | ★ 4.9 | 6 | BULK-958ba16e |
| 18515 | Bulk Product 5352af30 | Toys & Games | $332.85 | 319 | ★ 1.1 | 34 | BULK-4c55fee8 |
| 18516 | Bulk Product 63fa2d4e | Electronics | $545.18 | 29 | ★ 1.3 | 23 | BULK-6c2394e4 |
| 18517 | Bulk Product 6d979ab7 | Books | $889.52 | 467 | ★ 4.3 | 99 | BULK-b2ac5bac |
| 18518 | Bulk Product 06d428b1 | Electronics | $658.06 | 54 | ★ 3.9 | 61 | BULK-685ed7a3 |
| 18519 | Bulk Product 35d7cc4f | Toys & Games | $401.51 | 10 | ★ 4.9 | 79 | BULK-e1cf3641 |
| 18520 | Bulk Product 3a85f040 | Sports & Outdoors | $888.64 | 384 | ★ 1.0 | 80 | BULK-6a9be7b0 |
| 18521 | Bulk Product a7c94b13 | Toys & Games | $183.44 | 484 | ★ 0.5 | 80 | BULK-56b6a28f |
| 18522 | Bulk Product ce267a20 | Clothing | $925.96 | 295 | ★ 4.1 | 95 | BULK-bf1b1a89 |
| 18523 | Bulk Product 31b5b373 | Sports & Outdoors | $798.79 | 57 | ★ 4.4 | 44 | BULK-f4d154a8 |
| 18524 | Bulk Product ade44236 | Home & Garden | $178.43 | 490 | ★ 2.7 | 0 | BULK-51df5002 |
| 18525 | Bulk Product b68736b1 | Sports & Outdoors | $873.22 | 67 | ★ 4.1 | 59 | BULK-7669453d |
| 18526 | Bulk Product e9818391 | Books | $307.77 | 492 | ★ 3.4 | 96 | BULK-febe42dc |
| 18527 | Bulk Product 550c87ae | Electronics | $627.14 | 235 | ★ 4.3 | 20 | BULK-0a1d3acc |
| 18528 | Bulk Product 797e48d4 | Electronics | $682.25 | 204 | ★ 0.6 | 35 | BULK-ab9de7d2 |
| 18529 | Bulk Product 29827381 | Home & Garden | $801.17 | 495 | ★ 1.5 | 24 | BULK-78fe4104 |
| 18530 | Bulk Product 10405357 | Books | $703.97 | 118 | ★ 2.7 | 30 | BULK-8d8f0574 |
| 18531 | Bulk Product 3e41fd51 | Sports & Outdoors | $748.93 | 70 | ★ 0.1 | 70 | BULK-e533a6d7 |
| 18532 | Bulk Product f7416ed5 | Clothing | $460.95 | 8 | ★ 1.6 | 98 | BULK-1df37f67 |
| 18533 | Bulk Product 2079a3fc | Home & Garden | $526.77 | 55 | ★ 1.9 | 65 | BULK-071be8d4 |
| 18534 | Bulk Product 132a325e | Sports & Outdoors | $441.54 | 109 | ★ 3.6 | 22 | BULK-3318f1f9 |
| 18535 | Bulk Product 013db41e | Sports & Outdoors | $314.60 | 189 | ★ 4.7 | 41 | BULK-8bb3d4bc |
| 18536 | Bulk Product e2d32b82 | Toys & Games | $751.17 | 224 | ★ 0.8 | 94 | BULK-0decb21f |
| 18537 | Bulk Product 9deb1331 | Clothing | $713.12 | 315 | ★ 0.5 | 15 | BULK-3bf84135 |
| 18538 | Bulk Product eb95a7f3 | Toys & Games | $925.34 | 382 | ★ 1.5 | 8 | BULK-ea434be6 |
| 18539 | Bulk Product 0095989a | Sports & Outdoors | $727.21 | 325 | ★ 4.0 | 62 | BULK-3d5b4a2b |
| 18540 | Bulk Product 612aeaf5 | Electronics | $878.21 | 300 | ★ 2.6 | 9 | BULK-653a2bd8 |
| 18541 | Bulk Product fc8bb030 | Toys & Games | $653.22 | 191 | ★ 0.0 | 54 | BULK-1993aa98 |
| 18542 | Bulk Product b54a51c1 | Sports & Outdoors | $66.17 | 465 | ★ 1.1 | 33 | BULK-1fafdd1b |
| 18543 | Bulk Product f5ee25be | Home & Garden | $337.78 | 242 | ★ 3.4 | 19 | BULK-fb7e3327 |
| 18544 | Bulk Product b8882ff3 | Clothing | $289.67 | 89 | ★ 3.6 | 1 | BULK-b9dab2b3 |
| 18545 | Bulk Product 7f8be3b8 | Toys & Games | $193.44 | 118 | ★ 1.5 | 43 | BULK-c4162c35 |
| 18546 | Bulk Product 61ca7b34 | Books | $188.67 | 64 | ★ 0.3 | 95 | BULK-dcf9d7bd |
| 18547 | Bulk Product 3e09caf1 | Electronics | $281.79 | 281 | ★ 1.1 | 19 | BULK-38462859 |
| 18548 | Bulk Product 283d0c99 | Electronics | $808.62 | 82 | ★ 2.5 | 24 | BULK-387e7936 |
| 18549 | Bulk Product faff6929 | Toys & Games | $289.61 | 270 | ★ 0.9 | 10 | BULK-b6e20e8b |
| 18550 | Bulk Product 92921b0f | Electronics | $722.31 | 119 | ★ 1.2 | 75 | BULK-3dff95fd |
| 18551 | Bulk Product a4fa400d | Sports & Outdoors | $490.41 | 345 | ★ 3.9 | 47 | BULK-b0a898c4 |
| 18552 | Bulk Product ed891f73 | Home & Garden | $325.21 | 110 | ★ 4.4 | 27 | BULK-db5b3e8e |
| 18553 | Bulk Product ec529ee0 | Home & Garden | $863.42 | 31 | ★ 0.6 | 80 | BULK-4cb94ba8 |
| 18554 | Bulk Product 22135034 | Home & Garden | $739.63 | 258 | ★ 3.0 | 50 | BULK-f6e607c6 |
| 18555 | Bulk Product a2ec52c3 | Books | $205.73 | 196 | ★ 2.4 | 11 | BULK-defe1eac |
| 18556 | Bulk Product d8ab8632 | Toys & Games | $224.93 | 365 | ★ 4.6 | 72 | BULK-b05fcf62 |
| 18557 | Bulk Product 4c8e9dfd | Sports & Outdoors | $737.30 | 124 | ★ 0.2 | 59 | BULK-212d6aab |
| 18558 | Bulk Product 9d10ea5c | Electronics | $851.07 | 164 | ★ 0.9 | 70 | BULK-fff0a8c1 |
| 18559 | Bulk Product 2dc921c7 | Toys & Games | $942.22 | 79 | ★ 3.4 | 52 | BULK-bddd85b6 |
// 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
};
}