Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 5360 | Bulk Product 5a8467c8 | Toys & Games | $120.33 | 475 | ★ 3.1 | 87 | BULK-0f1f49f8 |
| 5361 | Bulk Product 7208333f | Clothing | $290.35 | 144 | ★ 1.9 | 78 | BULK-63ab5c26 |
| 5362 | Bulk Product b3ba2632 | Toys & Games | $608.64 | 238 | ★ 3.0 | 56 | BULK-4062b9ef |
| 5363 | Bulk Product 1ca44b8a | Sports & Outdoors | $115.62 | 329 | ★ 1.7 | 7 | BULK-28b40d67 |
| 5364 | Bulk Product 1097ba89 | Sports & Outdoors | $742.51 | 362 | ★ 4.7 | 86 | BULK-c168235d |
| 5365 | Bulk Product 5e1d6156 | Home & Garden | $18.73 | 103 | ★ 3.8 | 79 | BULK-84e33b6c |
| 5366 | Bulk Product edcff130 | Electronics | $774.12 | 80 | ★ 3.2 | 57 | BULK-9e993fdf |
| 5367 | Bulk Product 85e6e3e4 | Sports & Outdoors | $407.53 | 105 | ★ 2.7 | 61 | BULK-e5de7fe9 |
| 5368 | Bulk Product e53c33fc | Books | $528.31 | 306 | ★ 0.8 | 43 | BULK-49a8187d |
| 5369 | Bulk Product b29f9721 | Home & Garden | $134.13 | 169 | ★ 0.6 | 13 | BULK-48e5a268 |
| 5370 | Bulk Product 21869f2a | Clothing | $224.20 | 485 | ★ 1.8 | 11 | BULK-d84e075b |
| 5371 | Bulk Product 8cd9d8b3 | Books | $556.45 | 322 | ★ 4.8 | 39 | BULK-413de560 |
| 5372 | Bulk Product 264c2bf8 | Toys & Games | $424.23 | 437 | ★ 2.3 | 98 | BULK-0f547d8e |
| 5373 | Bulk Product 71899967 | Toys & Games | $515.93 | 185 | ★ 0.6 | 23 | BULK-e1940c1e |
| 5374 | Bulk Product 39a67ec0 | Toys & Games | $629.00 | 346 | ★ 1.4 | 18 | BULK-93d4c3ef |
| 5375 | Bulk Product a097f958 | Clothing | $137.42 | 188 | ★ 1.3 | 48 | BULK-fdeb8508 |
| 5376 | Bulk Product af75b66f | Home & Garden | $106.89 | 99 | ★ 3.7 | 75 | BULK-e35a8917 |
| 5377 | Bulk Product f850eac3 | Clothing | $133.73 | 53 | ★ 3.7 | 80 | BULK-5cb4b2a4 |
| 5378 | Bulk Product 0d79bc81 | Home & Garden | $924.89 | 304 | ★ 0.4 | 72 | BULK-7e55d8fe |
| 5379 | Bulk Product 3cbe82ec | Toys & Games | $657.60 | 265 | ★ 1.1 | 27 | BULK-0bc83e78 |
| 5380 | Bulk Product accc8499 | Sports & Outdoors | $53.53 | 483 | ★ 4.5 | 70 | BULK-5d2bfbda |
| 5381 | Bulk Product 73bf72d2 | Books | $133.33 | 389 | ★ 0.2 | 82 | BULK-f338d418 |
| 5382 | Bulk Product 3a1876e8 | Books | $152.68 | 203 | ★ 1.7 | 68 | BULK-a2c6294e |
| 5383 | Bulk Product 5013d80c | Sports & Outdoors | $293.93 | 79 | ★ 0.6 | 41 | BULK-91b9b53a |
| 5384 | Bulk Product 98742e59 | Books | $672.42 | 201 | ★ 1.1 | 59 | BULK-6d5aca21 |
| 5385 | Bulk Product 3db97a6c | Clothing | $22.69 | 373 | ★ 1.4 | 8 | BULK-94a53d8f |
| 5386 | Bulk Product a386cd33 | Toys & Games | $68.07 | 74 | ★ 1.1 | 62 | BULK-875d127f |
| 5387 | Bulk Product 172a9688 | Electronics | $270.01 | 63 | ★ 1.8 | 82 | BULK-5e2086c6 |
| 5388 | Bulk Product 6c10ecc4 | Home & Garden | $863.60 | 255 | ★ 4.2 | 40 | BULK-bb7d08b2 |
| 5389 | Bulk Product 038b99de | Clothing | $344.07 | 488 | ★ 3.2 | 84 | BULK-58f6ce59 |
| 5390 | Bulk Product 52b6ee3b | Electronics | $100.96 | 231 | ★ 0.7 | 73 | BULK-6c90a9e2 |
| 5391 | Bulk Product 3b1a8ca3 | Electronics | $894.46 | 98 | ★ 0.4 | 30 | BULK-b6068037 |
| 5392 | Bulk Product 4a3264f3 | Books | $201.19 | 18 | ★ 1.5 | 68 | BULK-b1da40cb |
| 5393 | Bulk Product 522ea716 | Electronics | $809.29 | 326 | ★ 4.4 | 93 | BULK-4c5a15b2 |
| 5394 | Bulk Product 6c84f99e | Electronics | $672.89 | 110 | ★ 1.7 | 90 | BULK-e72b97fa |
| 5395 | Bulk Product 5006a289 | Toys & Games | $273.92 | 463 | ★ 4.0 | 29 | BULK-361559b3 |
| 5396 | Bulk Product 2da51c76 | Electronics | $720.88 | 316 | ★ 1.9 | 7 | BULK-f3d25db4 |
| 5397 | Bulk Product 4e0fe2e7 | Clothing | $28.05 | 77 | ★ 2.6 | 80 | BULK-21665c5c |
| 5398 | Bulk Product 3e8a2189 | Sports & Outdoors | $876.03 | 265 | ★ 4.4 | 12 | BULK-d06892db |
| 5399 | Bulk Product 0cb05b08 | Home & Garden | $802.60 | 209 | ★ 2.2 | 73 | BULK-950434bf |
| 5400 | Bulk Product caa8ac29 | Clothing | $162.37 | 53 | ★ 0.6 | 12 | BULK-32a51c54 |
| 5401 | Bulk Product ac889c90 | Electronics | $559.23 | 278 | ★ 4.2 | 75 | BULK-93fc5102 |
| 5402 | Bulk Product 5ba250da | Clothing | $992.46 | 63 | ★ 2.0 | 45 | BULK-ea8e6e07 |
| 5403 | Bulk Product d275b242 | Toys & Games | $190.30 | 429 | ★ 3.3 | 82 | BULK-1705dba0 |
| 5404 | Bulk Product bbfebfd4 | Clothing | $743.90 | 79 | ★ 4.2 | 81 | BULK-2412eaf5 |
| 5405 | Bulk Product a29148fb | Sports & Outdoors | $634.25 | 470 | ★ 0.3 | 32 | BULK-ae203cc7 |
| 5406 | Bulk Product 1d5e48b9 | Books | $390.52 | 198 | ★ 1.9 | 72 | BULK-0794158c |
| 5407 | Bulk Product 84948943 | Books | $78.67 | 302 | ★ 0.1 | 14 | BULK-83c46f0a |
| 5408 | Bulk Product be8a294c | Toys & Games | $54.00 | 50 | ★ 1.4 | 61 | BULK-7b67a640 |
| 5409 | Bulk Product a356ab53 | Books | $629.51 | 187 | ★ 0.6 | 53 | BULK-0f5eede0 |
// 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
};
}