Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 13410 | Bulk Product 6bbd8540 | Home & Garden | $305.46 | 239 | ★ 3.2 | 3 | BULK-d2be0b3b |
| 13411 | Bulk Product efe7efa4 | Books | $192.58 | 16 | ★ 0.1 | 32 | BULK-fba9de85 |
| 13412 | Bulk Product c0b6c8eb | Home & Garden | $383.98 | 213 | ★ 3.0 | 31 | BULK-5d5549a7 |
| 13413 | Bulk Product 91db5075 | Electronics | $94.09 | 440 | ★ 2.1 | 72 | BULK-19c91de3 |
| 13414 | Bulk Product f7750f04 | Clothing | $293.89 | 301 | ★ 3.8 | 21 | BULK-b7563aae |
| 13415 | Bulk Product 45c737e8 | Books | $942.41 | 322 | ★ 3.9 | 39 | BULK-6399d3d4 |
| 13416 | Bulk Product 494549d5 | Clothing | $867.43 | 67 | ★ 2.6 | 68 | BULK-19fe99bf |
| 13417 | Bulk Product 94931751 | Electronics | $440.60 | 438 | ★ 4.3 | 5 | BULK-f47d0e2d |
| 13418 | Bulk Product a754d84a | Clothing | $694.51 | 247 | ★ 1.6 | 15 | BULK-adb91817 |
| 13419 | Bulk Product 18ae0a1d | Sports & Outdoors | $541.20 | 204 | ★ 4.3 | 29 | BULK-c82d8daf |
| 13420 | Bulk Product a5e9490e | Clothing | $782.48 | 367 | ★ 4.4 | 91 | BULK-b6398b8a |
| 13421 | Bulk Product f612e8b7 | Toys & Games | $146.04 | 227 | ★ 4.8 | 42 | BULK-7aea2c96 |
| 13422 | Bulk Product c52c9d24 | Toys & Games | $677.84 | 244 | ★ 2.0 | 93 | BULK-ae6244b7 |
| 13423 | Bulk Product ac8f00ee | Clothing | $329.54 | 449 | ★ 4.0 | 38 | BULK-1277a8ea |
| 13424 | Bulk Product 8d459b09 | Clothing | $691.14 | 34 | ★ 2.9 | 39 | BULK-0fed3565 |
| 13425 | Bulk Product 94baeb9c | Toys & Games | $808.44 | 431 | ★ 4.0 | 12 | BULK-ee6b1579 |
| 13426 | Bulk Product 6f219d4b | Home & Garden | $977.37 | 358 | ★ 1.3 | 27 | BULK-817aa1e9 |
| 13427 | Bulk Product ba1ed3dc | Books | $651.84 | 125 | ★ 0.9 | 76 | BULK-e1745f73 |
| 13428 | Bulk Product dacef201 | Electronics | $861.10 | 333 | ★ 2.1 | 24 | BULK-30803465 |
| 13429 | Bulk Product fba31c61 | Electronics | $61.67 | 64 | ★ 2.9 | 46 | BULK-93939412 |
| 13430 | Bulk Product e81e700d | Electronics | $239.38 | 225 | ★ 4.8 | 57 | BULK-54bee6fb |
| 13431 | Bulk Product 22aca884 | Books | $926.54 | 212 | ★ 0.6 | 42 | BULK-3acb5bc8 |
| 13432 | Bulk Product dc6bde48 | Sports & Outdoors | $82.54 | 119 | ★ 4.1 | 5 | BULK-0fafbb0e |
| 13433 | Bulk Product 15a3f66e | Toys & Games | $893.92 | 114 | ★ 1.4 | 24 | BULK-6e2592df |
| 13434 | Bulk Product 1a0a4a41 | Books | $444.32 | 113 | ★ 0.2 | 94 | BULK-8721fef2 |
| 13435 | Bulk Product bb783f0e | Toys & Games | $295.54 | 179 | ★ 4.0 | 48 | BULK-53d4fe61 |
| 13436 | Bulk Product 298513e3 | Books | $94.68 | 19 | ★ 4.9 | 95 | BULK-30586332 |
| 13437 | Bulk Product e7019b89 | Books | $606.35 | 196 | ★ 0.8 | 78 | BULK-96d55bf4 |
| 13438 | Bulk Product 0dc24b98 | Toys & Games | $801.94 | 154 | ★ 1.3 | 46 | BULK-f5ab81cd |
| 13439 | Bulk Product 086c9af9 | Toys & Games | $142.25 | 92 | ★ 2.8 | 14 | BULK-a7c13ce8 |
| 13440 | Bulk Product a3ffd951 | Toys & Games | $669.37 | 498 | ★ 1.2 | 50 | BULK-5c993332 |
| 13441 | Bulk Product a588bfff | Home & Garden | $777.44 | 431 | ★ 2.6 | 69 | BULK-ac0057c3 |
| 13442 | Bulk Product 41d04fcc | Books | $160.61 | 44 | ★ 2.7 | 87 | BULK-3ca411ae |
| 13443 | Bulk Product 0b8510b0 | Clothing | $572.05 | 30 | ★ 0.7 | 56 | BULK-d2aeaa2e |
| 13444 | Bulk Product 47390d3d | Home & Garden | $191.46 | 135 | ★ 5.0 | 71 | BULK-fb43e7af |
| 13445 | Bulk Product 0868866b | Toys & Games | $813.39 | 265 | ★ 4.6 | 10 | BULK-b57eb4aa |
| 13446 | Bulk Product aba32e4d | Sports & Outdoors | $407.52 | 405 | ★ 2.2 | 60 | BULK-a246d132 |
| 13447 | Bulk Product d8b9eb02 | Books | $277.85 | 273 | ★ 1.3 | 3 | BULK-df9c2409 |
| 13448 | Bulk Product 482f2ac2 | Electronics | $219.14 | 69 | ★ 1.2 | 84 | BULK-75704483 |
| 13449 | Bulk Product b0ac85fb | Books | $442.35 | 219 | ★ 1.0 | 25 | BULK-48b933a1 |
| 13450 | Bulk Product 32adfdbe | Electronics | $571.59 | 65 | ★ 4.5 | 7 | BULK-c91b4f51 |
| 13451 | Bulk Product 3c3f6d28 | Toys & Games | $799.36 | 305 | ★ 0.7 | 11 | BULK-39e8ad49 |
| 13452 | Bulk Product c525f966 | Electronics | $184.47 | 265 | ★ 4.1 | 97 | BULK-47a1b982 |
| 13453 | Bulk Product fcb10875 | Home & Garden | $280.93 | 323 | ★ 2.6 | 15 | BULK-fee0cae8 |
| 13454 | Bulk Product ada8e7dc | Books | $367.23 | 358 | ★ 4.7 | 85 | BULK-30458493 |
| 13455 | Bulk Product fb80082c | Electronics | $843.29 | 480 | ★ 3.4 | 88 | BULK-139676d2 |
| 13456 | Bulk Product 95e190e7 | Clothing | $930.16 | 408 | ★ 4.2 | 25 | BULK-d80ffe7d |
| 13457 | Bulk Product 139dfde9 | Electronics | $557.37 | 274 | ★ 1.9 | 40 | BULK-86d28c93 |
| 13458 | Bulk Product 654b2789 | Books | $96.56 | 455 | ★ 2.4 | 90 | BULK-d59262ed |
| 13459 | Bulk Product f931b845 | Toys & Games | $960.25 | 392 | ★ 0.6 | 42 | BULK-f4810a35 |
// 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
};
}