Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 13360 | Bulk Product 1df9dfd9 | Clothing | $732.90 | 52 | ★ 3.0 | 55 | BULK-5134b3d1 |
| 13361 | Bulk Product 6a5c26d9 | Books | $405.72 | 33 | ★ 4.7 | 92 | BULK-37968515 |
| 13362 | Bulk Product 7f9b3fad | Home & Garden | $790.02 | 97 | ★ 1.7 | 97 | BULK-5658e55c |
| 13363 | Bulk Product a898fed4 | Electronics | $651.17 | 147 | ★ 4.5 | 49 | BULK-a6b633ee |
| 13364 | Bulk Product 6373f736 | Home & Garden | $63.68 | 45 | ★ 2.1 | 54 | BULK-8ac0c125 |
| 13365 | Bulk Product 491a84bb | Home & Garden | $777.83 | 378 | ★ 1.2 | 36 | BULK-3420ca0e |
| 13366 | Bulk Product 00fb8744 | Sports & Outdoors | $945.28 | 476 | ★ 0.9 | 9 | BULK-781dae20 |
| 13367 | Bulk Product c26eae84 | Home & Garden | $50.97 | 244 | ★ 0.1 | 42 | BULK-8ce0b243 |
| 13368 | Bulk Product b6129c00 | Clothing | $160.44 | 106 | ★ 1.9 | 95 | BULK-61a549bb |
| 13369 | Bulk Product 6364213a | Electronics | $104.77 | 253 | ★ 3.7 | 67 | BULK-43175b6f |
| 13370 | Bulk Product 66a64270 | Toys & Games | $136.76 | 85 | ★ 3.4 | 69 | BULK-8baf2a02 |
| 13371 | Bulk Product bf6411ba | Sports & Outdoors | $18.57 | 164 | ★ 3.5 | 69 | BULK-56656c6d |
| 13372 | Bulk Product 87e1c81d | Sports & Outdoors | $274.03 | 382 | ★ 1.5 | 22 | BULK-526b00f9 |
| 13373 | Bulk Product ef54ee9e | Clothing | $787.60 | 131 | ★ 3.7 | 65 | BULK-683581af |
| 13374 | Bulk Product 0ea631b1 | Electronics | $209.14 | 369 | ★ 3.7 | 23 | BULK-8e5e20c7 |
| 13375 | Bulk Product 437b01a9 | Books | $53.17 | 291 | ★ 4.1 | 78 | BULK-06950725 |
| 13376 | Bulk Product f8533ad5 | Electronics | $725.50 | 123 | ★ 2.5 | 54 | BULK-27f0a4b8 |
| 13377 | Bulk Product 2d0a8b6d | Home & Garden | $717.12 | 166 | ★ 1.3 | 99 | BULK-bbc73ab4 |
| 13378 | Bulk Product 99e69beb | Toys & Games | $401.20 | 107 | ★ 0.1 | 56 | BULK-f6d3be53 |
| 13379 | Bulk Product 690d14cf | Books | $587.80 | 93 | ★ 0.9 | 74 | BULK-a9ecff77 |
| 13380 | Bulk Product 15d1938b | Sports & Outdoors | $570.73 | 54 | ★ 1.3 | 17 | BULK-0f927677 |
| 13381 | Bulk Product af2705f7 | Clothing | $414.67 | 411 | ★ 3.1 | 64 | BULK-9351fc08 |
| 13382 | Bulk Product 21c61568 | Books | $111.33 | 231 | ★ 3.1 | 96 | BULK-e8a94e1b |
| 13383 | Bulk Product 2ad9b602 | Clothing | $484.64 | 154 | ★ 4.7 | 51 | BULK-52812e89 |
| 13384 | Bulk Product 1b51cdce | Books | $405.21 | 231 | ★ 0.5 | 5 | BULK-9d739bd4 |
| 13385 | Bulk Product 77d4828f | Electronics | $345.77 | 456 | ★ 0.4 | 56 | BULK-730d4d10 |
| 13386 | Bulk Product 6dd077eb | Books | $581.24 | 404 | ★ 0.6 | 49 | BULK-b9121b4d |
| 13387 | Bulk Product 37b834ae | Books | $823.98 | 129 | ★ 0.2 | 68 | BULK-108101c5 |
| 13388 | Bulk Product 2eb1c3e8 | Toys & Games | $826.64 | 104 | ★ 0.6 | 66 | BULK-d1f27a67 |
| 13389 | Bulk Product 4d005cbf | Electronics | $368.47 | 220 | ★ 0.1 | 28 | BULK-31237610 |
| 13390 | Bulk Product 6ff799aa | Toys & Games | $636.00 | 79 | ★ 0.8 | 44 | BULK-c93969ac |
| 13391 | Bulk Product e02deec1 | Toys & Games | $249.64 | 136 | ★ 0.7 | 93 | BULK-4db702d7 |
| 13392 | Bulk Product 650efba8 | Books | $318.18 | 75 | ★ 4.5 | 24 | BULK-1c6b4286 |
| 13393 | Bulk Product 9df7e297 | Toys & Games | $375.62 | 418 | ★ 2.6 | 64 | BULK-2dcfa9c3 |
| 13394 | Bulk Product 0fbaaf73 | Electronics | $388.57 | 226 | ★ 3.4 | 70 | BULK-9a3ab9c8 |
| 13395 | Bulk Product 8af7fbda | Toys & Games | $303.61 | 339 | ★ 4.0 | 58 | BULK-7b40607e |
| 13396 | Bulk Product d342e6a7 | Sports & Outdoors | $575.28 | 169 | ★ 3.9 | 16 | BULK-0457ad13 |
| 13397 | Bulk Product e819b548 | Toys & Games | $815.23 | 40 | ★ 4.4 | 46 | BULK-e2e8466a |
| 13398 | Bulk Product 6047856a | Toys & Games | $864.22 | 456 | ★ 3.3 | 46 | BULK-7faeb637 |
| 13399 | Bulk Product faba39b2 | Home & Garden | $775.06 | 5 | ★ 2.6 | 25 | BULK-a9bc00ba |
| 13400 | Bulk Product 622efa96 | Clothing | $122.70 | 0 | ★ 1.8 | 47 | BULK-e918199d |
| 13401 | Bulk Product b9501480 | Electronics | $968.77 | 263 | ★ 0.8 | 76 | BULK-f456ed92 |
| 13402 | Bulk Product 2c1fe6ac | Toys & Games | $216.38 | 497 | ★ 2.6 | 52 | BULK-31932b1d |
| 13403 | Bulk Product 583674c6 | Home & Garden | $617.66 | 479 | ★ 3.7 | 59 | BULK-e5ee7df9 |
| 13404 | Bulk Product 0d2a4cb9 | Electronics | $342.87 | 309 | ★ 1.5 | 7 | BULK-3102ed50 |
| 13405 | Bulk Product b6abc2d6 | Sports & Outdoors | $195.60 | 117 | ★ 1.5 | 64 | BULK-bd570e5a |
| 13406 | Bulk Product 73aa1544 | Clothing | $659.36 | 152 | ★ 0.8 | 38 | BULK-1139754b |
| 13407 | Bulk Product 6b7de62b | Home & Garden | $329.86 | 285 | ★ 3.5 | 91 | BULK-836553f1 |
| 13408 | Bulk Product 2cc7deb5 | Home & Garden | $713.48 | 389 | ★ 1.3 | 37 | BULK-cbe9150d |
| 13409 | Bulk Product 5f71383e | Sports & Outdoors | $710.12 | 23 | ★ 0.1 | 11 | BULK-8f03fb34 |
// 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
};
}