Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 7510 | Bulk Product 2e643233 | Books | $13.57 | 30 | ★ 3.3 | 56 | BULK-c14984a4 |
| 7511 | Bulk Product 43b6905d | Sports & Outdoors | $49.51 | 161 | ★ 1.1 | 61 | BULK-b2ef30d2 |
| 7512 | Bulk Product e1c6f323 | Sports & Outdoors | $115.13 | 390 | ★ 4.2 | 58 | BULK-6e44fead |
| 7513 | Bulk Product 528a3e07 | Sports & Outdoors | $466.49 | 438 | ★ 1.0 | 33 | BULK-67dd5522 |
| 7514 | Bulk Product 7ca397f9 | Electronics | $896.41 | 103 | ★ 2.2 | 47 | BULK-4da98e79 |
| 7515 | Bulk Product b23e1c27 | Books | $791.55 | 397 | ★ 3.3 | 65 | BULK-5990d2e9 |
| 7516 | Bulk Product 51302c31 | Electronics | $343.93 | 131 | ★ 2.9 | 31 | BULK-592e1592 |
| 7517 | Bulk Product 9f48c033 | Toys & Games | $682.51 | 8 | ★ 2.7 | 89 | BULK-ec867941 |
| 7518 | Bulk Product b43b3ca7 | Clothing | $698.97 | 290 | ★ 0.8 | 0 | BULK-f22f6bfd |
| 7519 | Bulk Product bf95ebbe | Home & Garden | $485.83 | 161 | ★ 3.0 | 83 | BULK-c1bd5572 |
| 7520 | Bulk Product d222a4e2 | Home & Garden | $504.01 | 291 | ★ 2.3 | 52 | BULK-247c074f |
| 7521 | Bulk Product f1013ba3 | Home & Garden | $990.96 | 326 | ★ 5.0 | 27 | BULK-82773032 |
| 7522 | Bulk Product cd53b963 | Clothing | $635.39 | 323 | ★ 1.5 | 66 | BULK-c2d94a40 |
| 7523 | Bulk Product 41559b7c | Sports & Outdoors | $730.62 | 148 | ★ 0.0 | 61 | BULK-8e413d46 |
| 7524 | Bulk Product 2c20ad66 | Electronics | $467.35 | 244 | ★ 0.7 | 8 | BULK-fc0e86e2 |
| 7525 | Bulk Product 992659cd | Toys & Games | $504.76 | 62 | ★ 0.6 | 62 | BULK-19bebc99 |
| 7526 | Bulk Product 385475d6 | Clothing | $928.72 | 217 | ★ 0.7 | 55 | BULK-3513e83d |
| 7527 | Bulk Product 97c83ffc | Electronics | $521.34 | 339 | ★ 2.2 | 52 | BULK-f11b725a |
| 7528 | Bulk Product e6b8f5a8 | Sports & Outdoors | $369.44 | 482 | ★ 3.0 | 74 | BULK-8065d889 |
| 7529 | Bulk Product 99ca82c6 | Electronics | $688.79 | 151 | ★ 4.7 | 64 | BULK-ea49633f |
| 7530 | Bulk Product 1b19ae31 | Toys & Games | $243.96 | 22 | ★ 4.7 | 2 | BULK-290e297a |
| 7531 | Bulk Product 663fbd5b | Electronics | $369.10 | 198 | ★ 1.9 | 61 | BULK-51b15b83 |
| 7532 | Bulk Product 75a18d99 | Toys & Games | $954.25 | 224 | ★ 1.5 | 78 | BULK-8a6c1dd7 |
| 7533 | Bulk Product 8680395a | Books | $192.61 | 415 | ★ 4.8 | 14 | BULK-9cfe448f |
| 7534 | Bulk Product 2e6cbd29 | Books | $234.06 | 214 | ★ 0.2 | 81 | BULK-aec5833d |
| 7535 | Bulk Product d15a81ee | Toys & Games | $608.45 | 157 | ★ 3.4 | 93 | BULK-16640d81 |
| 7536 | Bulk Product 514d38e7 | Home & Garden | $597.60 | 238 | ★ 3.9 | 46 | BULK-12461437 |
| 7537 | Bulk Product 0fa7a55b | Home & Garden | $216.03 | 102 | ★ 1.3 | 31 | BULK-38ef7d59 |
| 7538 | Bulk Product 51c8705f | Clothing | $566.19 | 427 | ★ 4.6 | 67 | BULK-ef25a91f |
| 7539 | Bulk Product 7c58ba7a | Home & Garden | $769.31 | 298 | ★ 2.4 | 42 | BULK-66ca570a |
| 7540 | Bulk Product c8f3c029 | Home & Garden | $963.62 | 435 | ★ 2.0 | 20 | BULK-b044d6ef |
| 7541 | Bulk Product b8b88fe7 | Books | $121.47 | 204 | ★ 0.5 | 43 | BULK-4bb252a9 |
| 7542 | Bulk Product 6eb6ebbe | Sports & Outdoors | $48.74 | 165 | ★ 1.8 | 79 | BULK-ef8154f9 |
| 7543 | Bulk Product 9d168d80 | Home & Garden | $449.96 | 34 | ★ 1.5 | 16 | BULK-d6b53516 |
| 7544 | Bulk Product 7089985a | Books | $763.41 | 113 | ★ 3.6 | 14 | BULK-5a90789c |
| 7545 | Bulk Product 4573cf09 | Toys & Games | $367.47 | 79 | ★ 0.0 | 8 | BULK-33a51091 |
| 7546 | Bulk Product 291cb239 | Home & Garden | $187.83 | 397 | ★ 3.9 | 87 | BULK-7da13eb1 |
| 7547 | Bulk Product 84ff84ab | Electronics | $507.56 | 297 | ★ 0.6 | 71 | BULK-56b1bbee |
| 7548 | Bulk Product 5eb69ed9 | Books | $224.43 | 11 | ★ 0.9 | 92 | BULK-4b927883 |
| 7549 | Bulk Product 68bb5bf7 | Sports & Outdoors | $968.06 | 487 | ★ 3.4 | 75 | BULK-31bf12a1 |
| 7550 | Bulk Product 8e63aeba | Clothing | $837.95 | 153 | ★ 3.7 | 91 | BULK-20d9db38 |
| 7551 | Bulk Product be5e4610 | Books | $92.58 | 139 | ★ 4.2 | 48 | BULK-67383c9b |
| 7552 | Bulk Product 87064af6 | Clothing | $911.54 | 434 | ★ 1.1 | 90 | BULK-438bb84b |
| 7553 | Bulk Product 16d64787 | Toys & Games | $677.41 | 471 | ★ 4.8 | 20 | BULK-56172f66 |
| 7554 | Bulk Product 4170116e | Sports & Outdoors | $474.04 | 299 | ★ 3.2 | 91 | BULK-1e31af26 |
| 7555 | Bulk Product 4cba9488 | Sports & Outdoors | $582.94 | 36 | ★ 1.2 | 12 | BULK-7559cddb |
| 7556 | Bulk Product f776661d | Books | $431.14 | 256 | ★ 3.4 | 35 | BULK-0ea5aa1a |
| 7557 | Bulk Product a0284694 | Toys & Games | $599.81 | 421 | ★ 4.2 | 16 | BULK-948c06ee |
| 7558 | Bulk Product d1863edd | Books | $88.19 | 442 | ★ 2.6 | 84 | BULK-8b16ee1b |
| 7559 | Bulk Product 4e2b8fed | Toys & Games | $826.09 | 383 | ★ 1.0 | 41 | BULK-1215646c |
// 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
};
}