Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 16460 | Bulk Product 8eca12e1 | Books | $339.27 | 362 | ★ 2.1 | 11 | BULK-63b9aaf7 |
| 16461 | Bulk Product 50b40bf0 | Electronics | $58.41 | 107 | ★ 2.3 | 79 | BULK-d3b3bd5b |
| 16462 | Bulk Product 5257c4c9 | Books | $405.64 | 129 | ★ 3.0 | 9 | BULK-66cd1f0a |
| 16463 | Bulk Product 868927c1 | Toys & Games | $762.94 | 79 | ★ 1.0 | 59 | BULK-b094219b |
| 16464 | Bulk Product 1c59e715 | Electronics | $754.82 | 365 | ★ 1.0 | 11 | BULK-ca87f022 |
| 16465 | Bulk Product c6ebacc3 | Toys & Games | $384.82 | 436 | ★ 0.3 | 40 | BULK-9c4bb3d4 |
| 16466 | Bulk Product b2661cbe | Clothing | $611.32 | 326 | ★ 4.7 | 85 | BULK-ce921bd1 |
| 16467 | Bulk Product a59955b9 | Clothing | $557.37 | 131 | ★ 1.5 | 0 | BULK-8ff6a905 |
| 16468 | Bulk Product 2f4f22e1 | Sports & Outdoors | $171.78 | 477 | ★ 3.0 | 24 | BULK-b48fd968 |
| 16469 | Bulk Product 153d9397 | Books | $555.49 | 71 | ★ 2.4 | 5 | BULK-2afb1689 |
| 16470 | Bulk Product 21b918ba | Sports & Outdoors | $617.66 | 153 | ★ 4.8 | 85 | BULK-0cdc8eb2 |
| 16471 | Bulk Product 74e18308 | Toys & Games | $948.55 | 420 | ★ 3.3 | 90 | BULK-9e5aa9d8 |
| 16472 | Bulk Product 21eb6b89 | Books | $411.22 | 205 | ★ 2.8 | 86 | BULK-a81a1955 |
| 16473 | Bulk Product f44dbe17 | Sports & Outdoors | $813.70 | 59 | ★ 3.8 | 40 | BULK-2b0f580d |
| 16474 | Bulk Product b5a6474e | Toys & Games | $469.78 | 81 | ★ 2.0 | 23 | BULK-b15bac46 |
| 16475 | Bulk Product 2caebaba | Home & Garden | $894.93 | 168 | ★ 3.2 | 47 | BULK-9cf9f864 |
| 16476 | Bulk Product ee36873b | Sports & Outdoors | $622.45 | 413 | ★ 4.0 | 77 | BULK-c11a2d7b |
| 16477 | Bulk Product 0b903266 | Electronics | $952.33 | 257 | ★ 0.6 | 52 | BULK-b166ec01 |
| 16478 | Bulk Product 12131fc3 | Clothing | $195.01 | 299 | ★ 1.0 | 63 | BULK-e1c5d98e |
| 16479 | Bulk Product 09bbd4f8 | Books | $308.88 | 405 | ★ 1.7 | 16 | BULK-a2e27bef |
| 16480 | Bulk Product 4d1767ec | Clothing | $348.65 | 488 | ★ 3.8 | 34 | BULK-063d72e4 |
| 16481 | Bulk Product fd4e46ba | Clothing | $857.94 | 355 | ★ 4.9 | 80 | BULK-c5bcb696 |
| 16482 | Bulk Product f4b6d60a | Toys & Games | $795.71 | 191 | ★ 0.2 | 16 | BULK-7b5e9ff5 |
| 16483 | Bulk Product 47c36d11 | Books | $394.54 | 256 | ★ 2.1 | 5 | BULK-3b1b9ed6 |
| 16484 | Bulk Product 4dde229c | Home & Garden | $1,009.84 | 180 | ★ 2.9 | 96 | BULK-0907cd40 |
| 16485 | Bulk Product 53ac324e | Books | $283.88 | 308 | ★ 1.2 | 74 | BULK-7275d412 |
| 16486 | Bulk Product 59968ae8 | Books | $583.38 | 142 | ★ 1.3 | 56 | BULK-6c8d1b58 |
| 16487 | Bulk Product 037f4d08 | Home & Garden | $710.20 | 365 | ★ 2.4 | 88 | BULK-283469ac |
| 16488 | Bulk Product 10874004 | Toys & Games | $734.51 | 38 | ★ 1.8 | 44 | BULK-465dc2cf |
| 16489 | Bulk Product fe53b3cb | Sports & Outdoors | $230.02 | 329 | ★ 0.2 | 81 | BULK-f90cc28c |
| 16490 | Bulk Product 2be96a4d | Home & Garden | $380.10 | 493 | ★ 2.2 | 17 | BULK-28b4071f |
| 16491 | Bulk Product 030c14e0 | Clothing | $428.57 | 177 | ★ 2.1 | 75 | BULK-90e46bf8 |
| 16492 | Bulk Product 1509079f | Electronics | $699.95 | 416 | ★ 3.5 | 96 | BULK-d8a51138 |
| 16493 | Bulk Product f47f452b | Sports & Outdoors | $862.92 | 220 | ★ 3.8 | 61 | BULK-c9ac3ae5 |
| 16494 | Bulk Product eb068ab7 | Home & Garden | $835.05 | 152 | ★ 1.4 | 82 | BULK-11217f92 |
| 16495 | Bulk Product d7c7cf0f | Electronics | $397.33 | 316 | ★ 3.8 | 51 | BULK-b56e387b |
| 16496 | Bulk Product 79b62db8 | Books | $991.09 | 237 | ★ 0.6 | 92 | BULK-74a71da3 |
| 16497 | Bulk Product 04af5401 | Electronics | $426.84 | 445 | ★ 1.9 | 18 | BULK-da25b235 |
| 16498 | Bulk Product 58442175 | Electronics | $137.29 | 379 | ★ 1.8 | 92 | BULK-d69bc488 |
| 16499 | Bulk Product 15ca765e | Books | $119.54 | 205 | ★ 0.9 | 14 | BULK-a46153f6 |
| 16500 | Bulk Product f6acffb2 | Home & Garden | $102.03 | 168 | ★ 0.1 | 40 | BULK-5cd96712 |
| 16501 | Bulk Product ee74f57d | Electronics | $604.25 | 359 | ★ 4.8 | 69 | BULK-72665f77 |
| 16502 | Bulk Product a7ffe838 | Home & Garden | $798.27 | 469 | ★ 1.5 | 21 | BULK-ce1340ba |
| 16503 | Bulk Product 929b4651 | Home & Garden | $245.41 | 21 | ★ 2.1 | 97 | BULK-dac5706b |
| 16504 | Bulk Product ef91edc3 | Clothing | $662.12 | 156 | ★ 0.9 | 47 | BULK-39cfc2e1 |
| 16505 | Bulk Product 3a076200 | Toys & Games | $635.78 | 227 | ★ 2.3 | 69 | BULK-91013709 |
| 16506 | Bulk Product da1c0344 | Toys & Games | $101.61 | 211 | ★ 2.0 | 39 | BULK-829004e2 |
| 16507 | Bulk Product 2eff4dce | Books | $974.84 | 72 | ★ 4.7 | 69 | BULK-377a49b2 |
| 16508 | Bulk Product fc8690a7 | Toys & Games | $680.04 | 494 | ★ 0.8 | 46 | BULK-bb344214 |
| 16509 | Bulk Product db804033 | Clothing | $512.04 | 70 | ★ 2.4 | 56 | BULK-f50a1e0d |
// 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
};
}