Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 24360 | Bulk Product 7f683cbe | Electronics | $559.88 | 205 | ★ 4.6 | 18 | BULK-1feb3248 |
| 24361 | Bulk Product 62385c39 | Home & Garden | $587.39 | 345 | ★ 4.4 | 35 | BULK-32e6dc20 |
| 24362 | Bulk Product 917f4f0a | Books | $23.01 | 458 | ★ 2.8 | 20 | BULK-1e7efe09 |
| 24363 | Bulk Product 08b0755d | Home & Garden | $934.14 | 434 | ★ 1.3 | 16 | BULK-30fcad63 |
| 24364 | Bulk Product e1059dbd | Home & Garden | $814.16 | 353 | ★ 0.3 | 73 | BULK-51d91d98 |
| 24365 | Bulk Product 511c2b5f | Sports & Outdoors | $1,008.16 | 386 | ★ 1.6 | 27 | BULK-525e13cf |
| 24366 | Bulk Product befbf5c1 | Home & Garden | $562.94 | 229 | ★ 3.2 | 11 | BULK-de1d443b |
| 24367 | Bulk Product b6e7d123 | Electronics | $79.20 | 168 | ★ 1.8 | 67 | BULK-90d88f49 |
| 24368 | Bulk Product 09d33294 | Sports & Outdoors | $360.58 | 237 | ★ 2.8 | 50 | BULK-c11dfaba |
| 24369 | Bulk Product aef94ac7 | Electronics | $891.14 | 191 | ★ 3.2 | 63 | BULK-d778d135 |
| 24370 | Bulk Product 9dbc004c | Electronics | $702.76 | 248 | ★ 3.4 | 85 | BULK-3eb103c4 |
| 24371 | Bulk Product f90ad9b5 | Toys & Games | $456.48 | 151 | ★ 4.6 | 77 | BULK-d90521e6 |
| 24372 | Bulk Product 5edd9ef2 | Electronics | $680.93 | 484 | ★ 4.5 | 25 | BULK-1cfed55c |
| 24373 | Bulk Product f64c2307 | Electronics | $286.27 | 155 | ★ 0.7 | 97 | BULK-d37e413f |
| 24374 | Bulk Product e7ae87fb | Books | $735.61 | 98 | ★ 3.1 | 69 | BULK-b9b58a11 |
| 24375 | Bulk Product 59817090 | Sports & Outdoors | $310.73 | 345 | ★ 3.5 | 10 | BULK-15d5582c |
| 24376 | Bulk Product 418b24db | Books | $12.21 | 361 | ★ 0.3 | 70 | BULK-cd83bea1 |
| 24377 | Bulk Product b2fbf543 | Electronics | $698.21 | 158 | ★ 3.6 | 65 | BULK-e9814d33 |
| 24378 | Bulk Product 0d5af62c | Clothing | $421.91 | 143 | ★ 4.7 | 17 | BULK-26ed369e |
| 24379 | Bulk Product 64a4a832 | Toys & Games | $425.32 | 428 | ★ 0.3 | 75 | BULK-2851a9e5 |
| 24380 | Bulk Product f96619e4 | Toys & Games | $79.22 | 379 | ★ 0.3 | 3 | BULK-6be8b6dd |
| 24381 | Bulk Product 655854c6 | Clothing | $961.99 | 178 | ★ 4.0 | 10 | BULK-3219e7a4 |
| 24382 | Bulk Product b2b3188e | Toys & Games | $974.85 | 86 | ★ 1.5 | 63 | BULK-33a0e572 |
| 24383 | Bulk Product 39fe08d4 | Home & Garden | $798.51 | 336 | ★ 1.7 | 84 | BULK-e3ba6e69 |
| 24384 | Bulk Product 0c78f027 | Clothing | $364.00 | 78 | ★ 1.3 | 40 | BULK-bff167fd |
| 24385 | Bulk Product 369487aa | Clothing | $763.83 | 318 | ★ 3.8 | 56 | BULK-db0f17fa |
| 24386 | Bulk Product d7f27d6a | Home & Garden | $130.45 | 201 | ★ 4.2 | 36 | BULK-d3a4d11b |
| 24387 | Bulk Product fbb06021 | Books | $799.98 | 429 | ★ 3.0 | 6 | BULK-e7dde212 |
| 24388 | Bulk Product dec2113c | Sports & Outdoors | $829.64 | 48 | ★ 3.5 | 76 | BULK-e19bede2 |
| 24389 | Bulk Product ac75168b | Home & Garden | $35.83 | 83 | ★ 0.4 | 12 | BULK-bfdf8081 |
| 24390 | Bulk Product a335c77d | Clothing | $24.92 | 158 | ★ 3.6 | 38 | BULK-f16af667 |
| 24391 | Bulk Product 7a6dbc70 | Books | $340.82 | 463 | ★ 1.5 | 86 | BULK-a059da30 |
| 24392 | Bulk Product 1939a975 | Home & Garden | $118.91 | 385 | ★ 0.6 | 99 | BULK-9b9b7e23 |
| 24393 | Bulk Product 70143272 | Electronics | $684.04 | 202 | ★ 3.3 | 49 | BULK-425c00c8 |
| 24394 | Bulk Product 04b4c0d1 | Clothing | $405.22 | 340 | ★ 1.5 | 20 | BULK-5579e29b |
| 24395 | Bulk Product 80051688 | Clothing | $632.48 | 393 | ★ 2.7 | 86 | BULK-9d4fcb94 |
| 24396 | Bulk Product 48e44be0 | Sports & Outdoors | $853.94 | 406 | ★ 0.5 | 63 | BULK-beac7987 |
| 24397 | Bulk Product 4d6a1e1d | Sports & Outdoors | $803.29 | 373 | ★ 1.1 | 75 | BULK-fbd5b0e0 |
| 24398 | Bulk Product 9084c353 | Clothing | $632.70 | 286 | ★ 4.1 | 22 | BULK-251f6d79 |
| 24399 | Bulk Product a4b89237 | Home & Garden | $333.42 | 467 | ★ 2.8 | 44 | BULK-dde526ce |
| 24400 | Bulk Product 8379eda2 | Sports & Outdoors | $302.10 | 419 | ★ 0.6 | 64 | BULK-a0636f77 |
| 24401 | Bulk Product 351cf4e8 | Toys & Games | $49.24 | 203 | ★ 1.8 | 82 | BULK-0c7d7b0c |
| 24402 | Bulk Product 94c33ca9 | Books | $468.09 | 348 | ★ 3.2 | 11 | BULK-e1966a77 |
| 24403 | Bulk Product 8d13544f | Toys & Games | $850.15 | 312 | ★ 4.3 | 13 | BULK-c6229300 |
| 24404 | Bulk Product 7527ea67 | Home & Garden | $759.38 | 267 | ★ 0.2 | 37 | BULK-9a45df7f |
| 24405 | Bulk Product a66bfe41 | Toys & Games | $419.45 | 59 | ★ 2.3 | 74 | BULK-93a2800b |
| 24406 | Bulk Product 372d0fae | Sports & Outdoors | $892.73 | 310 | ★ 4.6 | 1 | BULK-3959a26f |
| 24407 | Bulk Product 800a5c33 | Electronics | $712.67 | 303 | ★ 0.8 | 81 | BULK-b1855345 |
| 24408 | Bulk Product a87873df | Toys & Games | $787.87 | 431 | ★ 1.2 | 92 | BULK-3f45e0c2 |
| 24409 | Bulk Product 8759a64a | Electronics | $421.00 | 450 | ★ 2.1 | 77 | BULK-38c5da88 |
// 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
};
}