Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 5460 | Bulk Product 5b85f33b | Sports & Outdoors | $352.47 | 93 | ★ 1.8 | 74 | BULK-729a4df5 |
| 5461 | Bulk Product f591ed97 | Sports & Outdoors | $101.55 | 467 | ★ 4.4 | 92 | BULK-6dde1dff |
| 5462 | Bulk Product bc98fa54 | Sports & Outdoors | $730.76 | 389 | ★ 1.9 | 26 | BULK-7bb9b37d |
| 5463 | Bulk Product 210f0206 | Books | $569.16 | 252 | ★ 1.6 | 17 | BULK-f48f7a95 |
| 5464 | Bulk Product f078ee2f | Books | $718.78 | 490 | ★ 3.8 | 48 | BULK-e26e2571 |
| 5465 | Bulk Product 6c27b007 | Clothing | $189.19 | 71 | ★ 2.8 | 97 | BULK-d976948d |
| 5466 | Bulk Product 314278b7 | Clothing | $941.64 | 370 | ★ 2.4 | 80 | BULK-55c04b4e |
| 5467 | Bulk Product 889e25fc | Books | $229.18 | 368 | ★ 1.8 | 13 | BULK-318329c9 |
| 5468 | Bulk Product b8d27363 | Home & Garden | $785.72 | 116 | ★ 1.1 | 33 | BULK-89e408da |
| 5469 | Bulk Product 95cd4545 | Toys & Games | $424.96 | 50 | ★ 3.7 | 5 | BULK-715d4171 |
| 5470 | Bulk Product e32493c1 | Electronics | $425.28 | 215 | ★ 2.3 | 89 | BULK-373897e0 |
| 5471 | Bulk Product 88213660 | Sports & Outdoors | $318.99 | 156 | ★ 3.7 | 44 | BULK-709a0721 |
| 5472 | Bulk Product 24d967fb | Sports & Outdoors | $95.92 | 362 | ★ 3.9 | 82 | BULK-0117bfb5 |
| 5473 | Bulk Product f08db0f2 | Toys & Games | $802.77 | 390 | ★ 2.1 | 96 | BULK-5ead4f4e |
| 5474 | Bulk Product d55fabdc | Books | $363.66 | 223 | ★ 4.3 | 40 | BULK-1cf3aab6 |
| 5475 | Bulk Product ad58c032 | Sports & Outdoors | $20.69 | 493 | ★ 3.9 | 83 | BULK-d7deffc5 |
| 5476 | Bulk Product c70c3308 | Sports & Outdoors | $871.49 | 461 | ★ 1.3 | 94 | BULK-1073a122 |
| 5477 | Bulk Product f58c2639 | Clothing | $880.89 | 384 | ★ 3.1 | 0 | BULK-903aaba6 |
| 5478 | Bulk Product d9c8527b | Books | $728.14 | 344 | ★ 1.2 | 99 | BULK-c5f07030 |
| 5479 | Bulk Product ec18441d | Clothing | $77.42 | 41 | ★ 2.8 | 87 | BULK-0f236254 |
| 5480 | Bulk Product 619bdf13 | Clothing | $647.90 | 221 | ★ 1.1 | 53 | BULK-50725f19 |
| 5481 | Bulk Product b7bb6e39 | Sports & Outdoors | $519.27 | 287 | ★ 2.7 | 75 | BULK-d2836d82 |
| 5482 | Bulk Product 8e931c54 | Clothing | $946.03 | 98 | ★ 2.1 | 57 | BULK-aa0e6c73 |
| 5483 | Bulk Product 847edcaa | Books | $463.43 | 74 | ★ 4.1 | 47 | BULK-8b1a8c8c |
| 5484 | Bulk Product f5754cd8 | Home & Garden | $858.26 | 370 | ★ 3.0 | 16 | BULK-d93053b9 |
| 5485 | Bulk Product 3bff3548 | Electronics | $175.62 | 362 | ★ 0.1 | 44 | BULK-5057f7b5 |
| 5486 | Bulk Product e2fde0d0 | Home & Garden | $318.63 | 470 | ★ 2.8 | 21 | BULK-8821b391 |
| 5487 | Bulk Product 69573129 | Books | $638.03 | 96 | ★ 2.0 | 92 | BULK-2bf481a5 |
| 5488 | Bulk Product b0506d5e | Toys & Games | $599.08 | 305 | ★ 2.0 | 36 | BULK-a360a9f1 |
| 5489 | Bulk Product 07acdcf0 | Clothing | $397.76 | 183 | ★ 4.8 | 89 | BULK-5aed8ad8 |
| 5490 | Bulk Product 22afd0a8 | Sports & Outdoors | $323.75 | 376 | ★ 3.6 | 90 | BULK-e708f1d8 |
| 5491 | Bulk Product fc7fce30 | Clothing | $653.64 | 275 | ★ 4.2 | 8 | BULK-73a77b79 |
| 5492 | Bulk Product a034b3bd | Home & Garden | $478.91 | 333 | ★ 1.7 | 17 | BULK-091290e0 |
| 5493 | Bulk Product b3fd53c6 | Home & Garden | $129.03 | 378 | ★ 3.4 | 57 | BULK-4e468cff |
| 5494 | Bulk Product 6f2a436d | Toys & Games | $475.59 | 373 | ★ 3.9 | 36 | BULK-de2da839 |
| 5495 | Bulk Product 21a983f6 | Toys & Games | $52.29 | 435 | ★ 5.0 | 12 | BULK-fa629afd |
| 5496 | Bulk Product f8d0ca5e | Electronics | $995.95 | 86 | ★ 1.1 | 37 | BULK-c62a10a6 |
| 5497 | Bulk Product 6f358877 | Home & Garden | $187.93 | 18 | ★ 1.3 | 54 | BULK-0468a5fe |
| 5498 | Bulk Product c532239d | Books | $589.04 | 119 | ★ 0.5 | 97 | BULK-8eed4b9c |
| 5499 | Bulk Product 16b3ef6c | Electronics | $751.63 | 83 | ★ 3.1 | 90 | BULK-07190e3f |
| 5500 | Bulk Product 9121418c | Sports & Outdoors | $555.81 | 217 | ★ 4.7 | 22 | BULK-06d30c3c |
| 5501 | Bulk Product 4a276baf | Clothing | $920.90 | 256 | ★ 1.1 | 24 | BULK-012a3696 |
| 5502 | Bulk Product be590e6e | Books | $670.20 | 170 | ★ 2.9 | 13 | BULK-c83a2454 |
| 5503 | Bulk Product 2857115f | Electronics | $998.79 | 373 | ★ 4.3 | 57 | BULK-cf003851 |
| 5504 | Bulk Product 36b68db7 | Toys & Games | $755.65 | 342 | ★ 0.0 | 39 | BULK-9fdb8baf |
| 5505 | Bulk Product 72257932 | Home & Garden | $69.95 | 293 | ★ 3.1 | 30 | BULK-da99a3c2 |
| 5506 | Bulk Product 54c44fef | Sports & Outdoors | $192.73 | 171 | ★ 0.4 | 39 | BULK-b45a0253 |
| 5507 | Bulk Product 07be6f34 | Electronics | $861.98 | 221 | ★ 2.5 | 84 | BULK-fdd89f69 |
| 5508 | Bulk Product 91bbffa2 | Sports & Outdoors | $1,009.41 | 312 | ★ 4.8 | 33 | BULK-6aa5b56d |
| 5509 | Bulk Product 500ad8a0 | Toys & Games | $473.96 | 78 | ★ 0.8 | 41 | BULK-2eddff30 |
// 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
};
}