Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 19060 | Bulk Product 2bd35fab | Toys & Games | $81.59 | 108 | ★ 2.8 | 19 | BULK-396a279d |
| 19061 | Bulk Product ffa189ad | Books | $636.97 | 52 | ★ 1.9 | 17 | BULK-7549c2ca |
| 19062 | Bulk Product f3ac0479 | Home & Garden | $137.45 | 264 | ★ 0.6 | 87 | BULK-7be1e56e |
| 19063 | Bulk Product a6760027 | Electronics | $215.79 | 99 | ★ 3.2 | 76 | BULK-14461853 |
| 19064 | Bulk Product eb709932 | Toys & Games | $577.68 | 379 | ★ 0.0 | 85 | BULK-05389827 |
| 19065 | Bulk Product b6dc9799 | Clothing | $222.41 | 252 | ★ 1.4 | 57 | BULK-8a54898f |
| 19066 | Bulk Product 944f4c0c | Sports & Outdoors | $945.06 | 470 | ★ 2.8 | 29 | BULK-ad10f7d0 |
| 19067 | Bulk Product 80586feb | Clothing | $966.85 | 272 | ★ 3.9 | 74 | BULK-aba8640a |
| 19068 | Bulk Product 81fadc11 | Home & Garden | $42.23 | 416 | ★ 2.0 | 20 | BULK-0e66888d |
| 19069 | Bulk Product 617f1c27 | Books | $351.17 | 437 | ★ 3.9 | 44 | BULK-c0940d30 |
| 19070 | Bulk Product 5a759aff | Books | $141.08 | 247 | ★ 4.5 | 85 | BULK-c93e8169 |
| 19071 | Bulk Product 972e7aac | Toys & Games | $591.32 | 27 | ★ 4.3 | 45 | BULK-fec55567 |
| 19072 | Bulk Product b3c377d0 | Home & Garden | $610.15 | 170 | ★ 0.8 | 76 | BULK-1a8e67ce |
| 19073 | Bulk Product 9c857654 | Electronics | $17.31 | 320 | ★ 0.9 | 11 | BULK-92b9546f |
| 19074 | Bulk Product 5681b8ab | Sports & Outdoors | $22.03 | 215 | ★ 1.3 | 0 | BULK-b5de5fbb |
| 19075 | Bulk Product 8b1e80a2 | Toys & Games | $396.99 | 467 | ★ 2.3 | 84 | BULK-980e242d |
| 19076 | Bulk Product d42ec633 | Books | $777.35 | 306 | ★ 3.1 | 9 | BULK-40f49c54 |
| 19077 | Bulk Product b39d9946 | Sports & Outdoors | $560.03 | 315 | ★ 1.5 | 63 | BULK-84404745 |
| 19078 | Bulk Product dd28f12a | Sports & Outdoors | $65.43 | 127 | ★ 2.5 | 62 | BULK-48801ac6 |
| 19079 | Bulk Product 9217a5a1 | Books | $360.73 | 473 | ★ 4.4 | 3 | BULK-483399b4 |
| 19080 | Bulk Product 6287f7f4 | Toys & Games | $386.77 | 88 | ★ 1.1 | 37 | BULK-69c36d0c |
| 19081 | Bulk Product 6c90ca7f | Clothing | $631.72 | 223 | ★ 1.4 | 98 | BULK-f71f6dfa |
| 19082 | Bulk Product 4234e275 | Toys & Games | $539.74 | 164 | ★ 4.9 | 32 | BULK-14b48bb6 |
| 19083 | Bulk Product fdaf60f4 | Clothing | $614.31 | 155 | ★ 0.1 | 91 | BULK-1de70218 |
| 19084 | Bulk Product 0ebbbaba | Electronics | $791.53 | 337 | ★ 3.8 | 46 | BULK-30988951 |
| 19085 | Bulk Product c6f55d8b | Toys & Games | $30.73 | 463 | ★ 0.9 | 27 | BULK-21dc6e9a |
| 19086 | Bulk Product b786b913 | Electronics | $419.79 | 377 | ★ 1.9 | 72 | BULK-ec1f5fe0 |
| 19087 | Bulk Product e757c605 | Toys & Games | $509.25 | 244 | ★ 0.1 | 90 | BULK-2a896f55 |
| 19088 | Bulk Product dde20d82 | Electronics | $563.44 | 246 | ★ 2.1 | 22 | BULK-0cac0952 |
| 19089 | Bulk Product cddd1dbf | Toys & Games | $681.30 | 175 | ★ 3.9 | 25 | BULK-6159c860 |
| 19090 | Bulk Product 827b2cf6 | Electronics | $766.53 | 476 | ★ 2.1 | 20 | BULK-acc234a5 |
| 19091 | Bulk Product 9b800595 | Home & Garden | $311.70 | 253 | ★ 1.3 | 57 | BULK-73ba89be |
| 19092 | Bulk Product dadcb971 | Home & Garden | $779.94 | 7 | ★ 3.1 | 4 | BULK-fe32fdf9 |
| 19093 | Bulk Product abc4c77d | Home & Garden | $369.78 | 439 | ★ 2.3 | 36 | BULK-e5e6cbe7 |
| 19094 | Bulk Product 88bb3cf7 | Home & Garden | $432.32 | 476 | ★ 1.4 | 58 | BULK-5706d96f |
| 19095 | Bulk Product d77ba7c4 | Sports & Outdoors | $851.99 | 436 | ★ 0.5 | 16 | BULK-b0361958 |
| 19096 | Bulk Product 20703f68 | Home & Garden | $907.19 | 367 | ★ 3.6 | 44 | BULK-d3c75741 |
| 19097 | Bulk Product f496c628 | Toys & Games | $363.14 | 213 | ★ 4.4 | 46 | BULK-1ae2c59f |
| 19098 | Bulk Product dcba4ce4 | Electronics | $946.68 | 317 | ★ 2.4 | 59 | BULK-b5ac7214 |
| 19099 | Bulk Product 7061d9a7 | Books | $254.51 | 311 | ★ 0.6 | 16 | BULK-a6d8f2ae |
| 19100 | Bulk Product ad9beb9c | Home & Garden | $514.41 | 426 | ★ 3.0 | 24 | BULK-1188e9d1 |
| 19101 | Bulk Product f1ff4c6e | Books | $519.45 | 107 | ★ 3.3 | 41 | BULK-a6d5904c |
| 19102 | Bulk Product 5a8ad763 | Toys & Games | $945.25 | 100 | ★ 4.6 | 21 | BULK-e4178f74 |
| 19103 | Bulk Product c118f861 | Home & Garden | $996.92 | 128 | ★ 4.2 | 3 | BULK-66d92c9a |
| 19104 | Bulk Product 86db11c1 | Toys & Games | $167.92 | 89 | ★ 1.0 | 47 | BULK-dfb7d361 |
| 19105 | Bulk Product d1a79644 | Electronics | $413.58 | 123 | ★ 1.3 | 9 | BULK-e866de3e |
| 19106 | Bulk Product 216cc792 | Books | $976.11 | 73 | ★ 2.7 | 64 | BULK-79ac26ce |
| 19107 | Bulk Product fd9cf4d8 | Toys & Games | $254.07 | 201 | ★ 2.6 | 44 | BULK-1bcbf9b3 |
| 19108 | Bulk Product 26da4ec5 | Books | $93.46 | 230 | ★ 2.4 | 96 | BULK-f4cab0e0 |
| 19109 | Bulk Product 7b22bc72 | Clothing | $689.43 | 32 | ★ 3.4 | 1 | BULK-dc849777 |
// 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
};
}