Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 17410 | Bulk Product 746b8002 | Electronics | $839.58 | 103 | ★ 3.0 | 36 | BULK-8e1594ce |
| 17411 | Bulk Product 36ae74bb | Toys & Games | $875.79 | 132 | ★ 4.6 | 82 | BULK-120e4d20 |
| 17412 | Bulk Product c37f1fc5 | Sports & Outdoors | $454.55 | 377 | ★ 4.7 | 73 | BULK-fc2dd041 |
| 17413 | Bulk Product 3cbbbc9e | Clothing | $407.92 | 413 | ★ 0.5 | 19 | BULK-cdf5cd38 |
| 17414 | Bulk Product 4df59edc | Electronics | $644.84 | 147 | ★ 3.0 | 6 | BULK-71523a4c |
| 17415 | Bulk Product 85519108 | Sports & Outdoors | $910.67 | 157 | ★ 1.7 | 63 | BULK-aa72a69d |
| 17416 | Bulk Product 9664e534 | Electronics | $416.32 | 72 | ★ 2.0 | 77 | BULK-eaaed591 |
| 17417 | Bulk Product 820333c0 | Sports & Outdoors | $101.34 | 171 | ★ 0.8 | 35 | BULK-bf7ea0e6 |
| 17418 | Bulk Product 51b7b2ce | Sports & Outdoors | $46.26 | 467 | ★ 4.2 | 26 | BULK-9ad9d02e |
| 17419 | Bulk Product d4c6ee90 | Sports & Outdoors | $279.15 | 278 | ★ 5.0 | 14 | BULK-81e4eca5 |
| 17420 | Bulk Product e0bb1126 | Home & Garden | $773.36 | 381 | ★ 1.7 | 77 | BULK-81d58dc4 |
| 17421 | Bulk Product fab7080d | Books | $504.92 | 84 | ★ 1.9 | 55 | BULK-17871813 |
| 17422 | Bulk Product c0bd85e3 | Electronics | $267.31 | 190 | ★ 0.4 | 60 | BULK-259b8c97 |
| 17423 | Bulk Product aefeaf69 | Toys & Games | $293.85 | 496 | ★ 3.3 | 83 | BULK-35a0bf30 |
| 17424 | Bulk Product 101d13e3 | Home & Garden | $435.39 | 9 | ★ 2.5 | 88 | BULK-8298019d |
| 17425 | Bulk Product fd2aeab1 | Sports & Outdoors | $618.31 | 128 | ★ 0.0 | 33 | BULK-be5c4238 |
| 17426 | Bulk Product 038e20b8 | Electronics | $888.38 | 266 | ★ 1.9 | 26 | BULK-a5daad55 |
| 17427 | Bulk Product c940e0d1 | Home & Garden | $1,004.11 | 326 | ★ 3.1 | 39 | BULK-e6d60737 |
| 17428 | Bulk Product 3dd6f853 | Sports & Outdoors | $938.10 | 482 | ★ 3.9 | 24 | BULK-334abcc7 |
| 17429 | Bulk Product b5799ca5 | Sports & Outdoors | $326.09 | 241 | ★ 3.3 | 97 | BULK-4e3009c7 |
| 17430 | Bulk Product fcd902ff | Toys & Games | $319.53 | 219 | ★ 1.5 | 24 | BULK-e51e6445 |
| 17431 | Bulk Product 5f8bd030 | Home & Garden | $985.27 | 88 | ★ 0.2 | 13 | BULK-03460760 |
| 17432 | Bulk Product 5f22ae1c | Sports & Outdoors | $566.98 | 358 | ★ 2.7 | 64 | BULK-8a93c8b2 |
| 17433 | Bulk Product 74d530c0 | Books | $711.91 | 28 | ★ 2.4 | 65 | BULK-15e8e521 |
| 17434 | Bulk Product 3537795e | Sports & Outdoors | $77.24 | 417 | ★ 3.7 | 10 | BULK-d83e903e |
| 17435 | Bulk Product 18ed66a6 | Toys & Games | $235.89 | 469 | ★ 4.6 | 64 | BULK-fe782c3f |
| 17436 | Bulk Product 44685a39 | Home & Garden | $526.83 | 150 | ★ 3.2 | 10 | BULK-b9610791 |
| 17437 | Bulk Product 76944305 | Books | $927.24 | 45 | ★ 4.7 | 34 | BULK-d141a0bb |
| 17438 | Bulk Product 0d7684c5 | Home & Garden | $742.37 | 350 | ★ 2.3 | 71 | BULK-fb953f2c |
| 17439 | Bulk Product a52e61f1 | Sports & Outdoors | $452.98 | 279 | ★ 3.5 | 66 | BULK-03353584 |
| 17440 | Bulk Product 485a35a3 | Toys & Games | $552.04 | 307 | ★ 2.5 | 51 | BULK-f702f630 |
| 17441 | Bulk Product f184d5f3 | Electronics | $372.88 | 46 | ★ 2.1 | 13 | BULK-7ee2b1be |
| 17442 | Bulk Product 1d0f0371 | Electronics | $655.73 | 219 | ★ 2.7 | 19 | BULK-4be79c9a |
| 17443 | Bulk Product c7fb0b21 | Home & Garden | $721.59 | 35 | ★ 4.5 | 98 | BULK-16128347 |
| 17444 | Bulk Product c5865f6a | Toys & Games | $110.02 | 491 | ★ 3.7 | 89 | BULK-b3280d65 |
| 17445 | Bulk Product f874746c | Sports & Outdoors | $850.48 | 151 | ★ 0.3 | 44 | BULK-26144613 |
| 17446 | Bulk Product 41fd1ace | Toys & Games | $325.73 | 102 | ★ 0.5 | 1 | BULK-51078631 |
| 17447 | Bulk Product 0867a1e1 | Clothing | $895.28 | 464 | ★ 0.0 | 74 | BULK-12754282 |
| 17448 | Bulk Product 712bf094 | Clothing | $467.70 | 372 | ★ 1.0 | 94 | BULK-6ed787b1 |
| 17449 | Bulk Product 6922426f | Books | $444.48 | 68 | ★ 1.0 | 69 | BULK-59e066c2 |
| 17450 | Bulk Product 46426676 | Clothing | $602.66 | 262 | ★ 3.1 | 49 | BULK-6d3fa0bf |
| 17451 | Bulk Product c9a7442d | Electronics | $895.56 | 150 | ★ 2.2 | 20 | BULK-b16720d1 |
| 17452 | Bulk Product d6b29891 | Electronics | $71.23 | 396 | ★ 0.7 | 85 | BULK-7e0a97d2 |
| 17453 | Bulk Product ab9d0069 | Toys & Games | $141.43 | 96 | ★ 1.8 | 56 | BULK-46be7ed9 |
| 17454 | Bulk Product 85eb628f | Home & Garden | $220.23 | 272 | ★ 3.5 | 10 | BULK-6c787c2c |
| 17455 | Bulk Product 64cd93b2 | Home & Garden | $134.02 | 326 | ★ 1.2 | 51 | BULK-9c1af4fa |
| 17456 | Bulk Product 28b6818d | Electronics | $689.83 | 459 | ★ 3.8 | 71 | BULK-6d16b617 |
| 17457 | Bulk Product 8db49c63 | Toys & Games | $813.74 | 377 | ★ 2.9 | 17 | BULK-93b6e7cb |
| 17458 | Bulk Product 24c6dd33 | Toys & Games | $652.16 | 197 | ★ 1.5 | 79 | BULK-14cc69d4 |
| 17459 | Bulk Product 01b5cded | Home & Garden | $822.33 | 472 | ★ 2.6 | 7 | BULK-e3ebaa37 |
// 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
};
}