Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 23360 | Bulk Product 07b04a6f | Sports & Outdoors | $187.88 | 128 | ★ 1.3 | 37 | BULK-24f32fba |
| 23361 | Bulk Product 8faa660c | Electronics | $747.11 | 375 | ★ 2.7 | 52 | BULK-7cc7be94 |
| 23362 | Bulk Product f04467ce | Sports & Outdoors | $709.99 | 123 | ★ 1.9 | 96 | BULK-2c8bc0c2 |
| 23363 | Bulk Product 715188c1 | Toys & Games | $891.25 | 497 | ★ 0.9 | 14 | BULK-ee82f59c |
| 23364 | Bulk Product 81f580f6 | Home & Garden | $740.75 | 439 | ★ 3.4 | 66 | BULK-f11c56c0 |
| 23365 | Bulk Product 02c8954e | Home & Garden | $617.21 | 263 | ★ 0.7 | 51 | BULK-6553e769 |
| 23366 | Bulk Product e9baeb76 | Clothing | $198.28 | 446 | ★ 4.5 | 15 | BULK-2ab7de3a |
| 23367 | Bulk Product 694deb16 | Toys & Games | $727.68 | 269 | ★ 2.0 | 81 | BULK-53e1a9fc |
| 23368 | Bulk Product 1a76a8ec | Toys & Games | $177.45 | 307 | ★ 1.2 | 2 | BULK-6a6a0b9d |
| 23369 | Bulk Product 2f73f9cc | Clothing | $200.41 | 489 | ★ 3.7 | 93 | BULK-567faa5a |
| 23370 | Bulk Product 61d44884 | Clothing | $171.41 | 330 | ★ 1.8 | 30 | BULK-728d168a |
| 23371 | Bulk Product 79001d7c | Books | $791.86 | 349 | ★ 1.6 | 47 | BULK-1870da5c |
| 23372 | Bulk Product b13b3f70 | Books | $437.91 | 211 | ★ 2.2 | 66 | BULK-c2e7cef7 |
| 23373 | Bulk Product af775332 | Sports & Outdoors | $244.18 | 219 | ★ 1.7 | 8 | BULK-a6f79f30 |
| 23374 | Bulk Product 599ee0fd | Home & Garden | $377.71 | 168 | ★ 3.7 | 0 | BULK-c7beed42 |
| 23375 | Bulk Product 4c715bdc | Sports & Outdoors | $490.05 | 269 | ★ 2.0 | 84 | BULK-7999433e |
| 23376 | Bulk Product f144ff4b | Books | $945.79 | 409 | ★ 1.6 | 57 | BULK-a2978386 |
| 23377 | Bulk Product 1c8074be | Sports & Outdoors | $203.84 | 264 | ★ 1.5 | 59 | BULK-24a55664 |
| 23378 | Bulk Product abe3be53 | Toys & Games | $269.24 | 154 | ★ 2.4 | 13 | BULK-7c841dd5 |
| 23379 | Bulk Product a77f1012 | Electronics | $889.12 | 265 | ★ 2.1 | 55 | BULK-b09dcba5 |
| 23380 | Bulk Product 54676cf8 | Books | $765.98 | 496 | ★ 3.3 | 99 | BULK-270d3753 |
| 23381 | Bulk Product 57fc9144 | Electronics | $627.51 | 359 | ★ 1.7 | 87 | BULK-1f0242fa |
| 23382 | Bulk Product bb8f453d | Clothing | $677.88 | 292 | ★ 3.4 | 73 | BULK-0ef42105 |
| 23383 | Bulk Product 87c51ece | Home & Garden | $446.33 | 113 | ★ 4.6 | 2 | BULK-9820989b |
| 23384 | Bulk Product fb4278bc | Books | $95.88 | 198 | ★ 4.9 | 5 | BULK-97c74f11 |
| 23385 | Bulk Product 06060d48 | Toys & Games | $667.87 | 50 | ★ 4.9 | 87 | BULK-8b7eef37 |
| 23386 | Bulk Product c7a83a71 | Toys & Games | $801.97 | 72 | ★ 4.5 | 96 | BULK-ddb85f66 |
| 23387 | Bulk Product 6db25de6 | Books | $327.88 | 233 | ★ 3.9 | 33 | BULK-09ce7b2a |
| 23388 | Bulk Product 3d4aa8b7 | Toys & Games | $455.51 | 220 | ★ 1.1 | 72 | BULK-b1eacd24 |
| 23389 | Bulk Product 9673b025 | Sports & Outdoors | $355.87 | 145 | ★ 1.3 | 7 | BULK-bb7d79bd |
| 23390 | Bulk Product bcf8494f | Home & Garden | $955.69 | 365 | ★ 4.3 | 61 | BULK-825a4d7b |
| 23391 | Bulk Product 6c3788d8 | Sports & Outdoors | $965.81 | 469 | ★ 1.2 | 6 | BULK-c4453b14 |
| 23392 | Bulk Product 45233d40 | Clothing | $22.35 | 491 | ★ 1.9 | 42 | BULK-3c51a268 |
| 23393 | Bulk Product 5a0bfb84 | Sports & Outdoors | $473.32 | 239 | ★ 1.0 | 95 | BULK-14958cf7 |
| 23394 | Bulk Product 7e312dcc | Home & Garden | $950.79 | 355 | ★ 5.0 | 40 | BULK-eef4445e |
| 23395 | Bulk Product a5123357 | Electronics | $458.04 | 111 | ★ 0.1 | 55 | BULK-dd0fc5a1 |
| 23396 | Bulk Product 0a5503c8 | Clothing | $816.13 | 1 | ★ 5.0 | 53 | BULK-6808db26 |
| 23397 | Bulk Product 8d6954fb | Toys & Games | $686.96 | 239 | ★ 2.8 | 48 | BULK-98635389 |
| 23398 | Bulk Product 04a29a9c | Sports & Outdoors | $919.88 | 427 | ★ 4.7 | 98 | BULK-13b23db8 |
| 23399 | Bulk Product 1f1e1ade | Sports & Outdoors | $342.50 | 333 | ★ 2.7 | 64 | BULK-61c2748f |
| 23400 | Bulk Product dbd6d9da | Toys & Games | $89.94 | 268 | ★ 2.4 | 40 | BULK-08c380ab |
| 23401 | Bulk Product 533eb877 | Home & Garden | $821.24 | 341 | ★ 3.4 | 13 | BULK-1d31898e |
| 23402 | Bulk Product 95c59c25 | Sports & Outdoors | $525.53 | 375 | ★ 2.8 | 51 | BULK-f46f164d |
| 23403 | Bulk Product 9e29dd83 | Books | $685.03 | 308 | ★ 4.0 | 90 | BULK-a45dae96 |
| 23404 | Bulk Product fa763c12 | Toys & Games | $321.87 | 64 | ★ 3.2 | 63 | BULK-653ad23f |
| 23405 | Bulk Product 8bba6776 | Sports & Outdoors | $260.78 | 316 | ★ 2.8 | 11 | BULK-084912b0 |
| 23406 | Bulk Product d6e9a57f | Toys & Games | $204.99 | 374 | ★ 1.8 | 26 | BULK-36342440 |
| 23407 | Bulk Product bbed0495 | Sports & Outdoors | $1,003.14 | 408 | ★ 3.3 | 20 | BULK-82e30d80 |
| 23408 | Bulk Product d212d691 | Home & Garden | $255.76 | 397 | ★ 2.5 | 23 | BULK-3b32dc9c |
| 23409 | Bulk Product 7bdb7bc2 | Sports & Outdoors | $194.84 | 34 | ★ 4.3 | 4 | BULK-dad77a09 |
// 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
};
}