Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 5310 | Bulk Product 6c1ac4ee | Books | $640.70 | 90 | ★ 5.0 | 10 | BULK-c28c29f1 |
| 5311 | Bulk Product 6fa4112b | Sports & Outdoors | $174.12 | 305 | ★ 2.7 | 13 | BULK-c7295ef8 |
| 5312 | Bulk Product 305acd8b | Sports & Outdoors | $10.97 | 273 | ★ 0.4 | 5 | BULK-6706bb54 |
| 5313 | Bulk Product 7210a8e0 | Home & Garden | $413.88 | 428 | ★ 1.2 | 62 | BULK-8dc5bb6d |
| 5314 | Bulk Product 9b8f29e4 | Electronics | $64.78 | 262 | ★ 3.2 | 31 | BULK-4dd11482 |
| 5315 | Bulk Product 624ae15e | Home & Garden | $402.71 | 218 | ★ 3.0 | 95 | BULK-111e4b87 |
| 5316 | Bulk Product 271c9bf6 | Sports & Outdoors | $142.78 | 157 | ★ 4.6 | 75 | BULK-90eee821 |
| 5317 | Bulk Product 59b03f50 | Home & Garden | $35.29 | 460 | ★ 4.5 | 80 | BULK-c3d1d164 |
| 5318 | Bulk Product 1977e160 | Home & Garden | $108.19 | 397 | ★ 3.1 | 76 | BULK-c82e316a |
| 5319 | Bulk Product f79a6d27 | Books | $465.05 | 450 | ★ 4.1 | 53 | BULK-7c575cff |
| 5320 | Bulk Product 2244c16a | Home & Garden | $621.02 | 242 | ★ 0.8 | 75 | BULK-57715bff |
| 5321 | Bulk Product 4f258155 | Home & Garden | $259.51 | 88 | ★ 1.4 | 7 | BULK-455f4df7 |
| 5322 | Bulk Product 2deb894c | Toys & Games | $897.66 | 387 | ★ 2.7 | 16 | BULK-e28e7de9 |
| 5323 | Bulk Product 9c96d854 | Sports & Outdoors | $126.04 | 73 | ★ 0.1 | 92 | BULK-d2c0d2f8 |
| 5324 | Bulk Product 7382e7c2 | Sports & Outdoors | $978.39 | 9 | ★ 2.9 | 99 | BULK-05457ba8 |
| 5325 | Bulk Product cf949958 | Toys & Games | $706.84 | 105 | ★ 0.9 | 77 | BULK-0a1a90ff |
| 5326 | Bulk Product e5d4f969 | Home & Garden | $136.62 | 296 | ★ 1.6 | 4 | BULK-935d1722 |
| 5327 | Bulk Product 08244dcf | Clothing | $116.03 | 436 | ★ 3.8 | 87 | BULK-41884963 |
| 5328 | Bulk Product 9a3afc38 | Toys & Games | $781.38 | 366 | ★ 3.8 | 99 | BULK-7e018c75 |
| 5329 | Bulk Product 8a6c3483 | Toys & Games | $185.12 | 468 | ★ 3.5 | 72 | BULK-6896f662 |
| 5330 | Bulk Product d6c497be | Home & Garden | $372.85 | 138 | ★ 2.7 | 41 | BULK-51460de0 |
| 5331 | Bulk Product d9c7f91e | Books | $588.04 | 374 | ★ 2.5 | 27 | BULK-b3edf235 |
| 5332 | Bulk Product c5ffcea9 | Home & Garden | $671.13 | 497 | ★ 1.6 | 86 | BULK-3584091a |
| 5333 | Bulk Product f0559c41 | Home & Garden | $101.17 | 135 | ★ 3.9 | 32 | BULK-223dace9 |
| 5334 | Bulk Product f8dd2d0a | Electronics | $147.19 | 394 | ★ 2.2 | 58 | BULK-f6575252 |
| 5335 | Bulk Product 5209c04d | Sports & Outdoors | $56.40 | 406 | ★ 1.5 | 3 | BULK-f0d01a47 |
| 5336 | Bulk Product 4d7f693c | Sports & Outdoors | $78.73 | 388 | ★ 2.4 | 52 | BULK-1ac5f726 |
| 5337 | Bulk Product 00923ce2 | Toys & Games | $757.77 | 488 | ★ 0.6 | 28 | BULK-a9782652 |
| 5338 | Bulk Product 0efe6238 | Sports & Outdoors | $166.81 | 353 | ★ 2.7 | 63 | BULK-79fdd837 |
| 5339 | Bulk Product 7d58c207 | Books | $664.44 | 42 | ★ 4.2 | 39 | BULK-2f5097f6 |
| 5340 | Bulk Product 92ed32a2 | Clothing | $740.00 | 349 | ★ 2.4 | 28 | BULK-08a957bb |
| 5341 | Bulk Product 47af95a8 | Home & Garden | $186.58 | 109 | ★ 1.4 | 65 | BULK-35828bd2 |
| 5342 | Bulk Product 43a8def0 | Home & Garden | $307.88 | 461 | ★ 2.5 | 9 | BULK-a8e9e83c |
| 5343 | Bulk Product 77c11786 | Home & Garden | $532.29 | 306 | ★ 3.9 | 76 | BULK-383c3887 |
| 5344 | Bulk Product 2bff336c | Clothing | $189.67 | 276 | ★ 2.4 | 35 | BULK-ba07f989 |
| 5345 | Bulk Product 7ae3e59c | Clothing | $890.65 | 491 | ★ 1.7 | 7 | BULK-47650f8b |
| 5346 | Bulk Product 715ed3a0 | Home & Garden | $363.39 | 404 | ★ 0.7 | 58 | BULK-b70b5372 |
| 5347 | Bulk Product 7c63a580 | Sports & Outdoors | $444.90 | 319 | ★ 0.6 | 66 | BULK-96e75d1d |
| 5348 | Bulk Product c049f52f | Clothing | $299.61 | 59 | ★ 1.2 | 46 | BULK-ed94dca9 |
| 5349 | Bulk Product 7a2a03a3 | Home & Garden | $991.96 | 175 | ★ 0.3 | 73 | BULK-094d6249 |
| 5350 | Bulk Product 274b6a5c | Electronics | $153.14 | 42 | ★ 3.1 | 38 | BULK-c74e2604 |
| 5351 | Bulk Product cc3f5a06 | Books | $174.63 | 170 | ★ 4.9 | 77 | BULK-c4935d87 |
| 5352 | Bulk Product 5d365ffa | Home & Garden | $57.60 | 496 | ★ 2.5 | 81 | BULK-049d7137 |
| 5353 | Bulk Product e631f45f | Books | $155.92 | 472 | ★ 0.9 | 13 | BULK-b1b3ca94 |
| 5354 | Bulk Product 8440ec62 | Electronics | $791.84 | 61 | ★ 1.8 | 5 | BULK-a10499b3 |
| 5355 | Bulk Product 229f400c | Toys & Games | $318.68 | 121 | ★ 2.4 | 69 | BULK-ede247ad |
| 5356 | Bulk Product e1f3362c | Clothing | $194.56 | 383 | ★ 3.2 | 73 | BULK-4d61ff47 |
| 5357 | Bulk Product 875791d5 | Home & Garden | $221.43 | 279 | ★ 0.9 | 60 | BULK-d5c3ebb7 |
| 5358 | Bulk Product b2369eb9 | Clothing | $787.73 | 312 | ★ 2.6 | 90 | BULK-3c45af47 |
| 5359 | Bulk Product fd37e8fd | Clothing | $329.15 | 350 | ★ 2.1 | 8 | BULK-499d9075 |
// 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
};
}