Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 10410 | Bulk Product f37aeb41 | Home & Garden | $671.91 | 217 | ★ 1.6 | 1 | BULK-a45303a4 |
| 10411 | Bulk Product 1aa07be1 | Books | $891.61 | 207 | ★ 2.0 | 90 | BULK-a945a5c7 |
| 10412 | Bulk Product 14dee846 | Toys & Games | $749.39 | 216 | ★ 0.4 | 5 | BULK-92f0b27a |
| 10413 | Bulk Product 410c0d54 | Toys & Games | $1,002.61 | 366 | ★ 2.1 | 35 | BULK-bff298ce |
| 10414 | Bulk Product f1faf751 | Books | $24.38 | 289 | ★ 3.1 | 83 | BULK-663eb13d |
| 10415 | Bulk Product a2ed8520 | Sports & Outdoors | $272.48 | 343 | ★ 4.0 | 72 | BULK-105ccfeb |
| 10416 | Bulk Product ee7439e5 | Books | $474.66 | 219 | ★ 2.8 | 53 | BULK-9ad243b0 |
| 10417 | Bulk Product 8481f77c | Home & Garden | $427.66 | 399 | ★ 0.6 | 13 | BULK-3dd46f57 |
| 10418 | Bulk Product b0c2f8a5 | Sports & Outdoors | $237.49 | 389 | ★ 4.2 | 9 | BULK-ce30d226 |
| 10419 | Bulk Product 045b6c26 | Sports & Outdoors | $496.50 | 391 | ★ 3.7 | 76 | BULK-b247f1ad |
| 10420 | Bulk Product baf2045f | Electronics | $457.40 | 115 | ★ 4.7 | 85 | BULK-8a4b1dda |
| 10421 | Bulk Product 8e103166 | Electronics | $379.16 | 380 | ★ 4.3 | 5 | BULK-f847fb4c |
| 10422 | Bulk Product e91a5e3f | Books | $402.93 | 382 | ★ 2.3 | 80 | BULK-7b1b4bf4 |
| 10423 | Bulk Product 160696ed | Sports & Outdoors | $727.13 | 475 | ★ 3.1 | 59 | BULK-adb0770c |
| 10424 | Bulk Product 707a5a50 | Electronics | $165.61 | 95 | ★ 0.9 | 29 | BULK-4a3c7688 |
| 10425 | Bulk Product 4d2b997c | Sports & Outdoors | $682.30 | 297 | ★ 1.1 | 24 | BULK-7f2eca76 |
| 10426 | Bulk Product 8937d0f5 | Books | $299.28 | 93 | ★ 4.9 | 36 | BULK-ff4fdcf3 |
| 10427 | Bulk Product 259f82c9 | Home & Garden | $691.45 | 247 | ★ 0.8 | 93 | BULK-7d3813fd |
| 10428 | Bulk Product 9bda6606 | Toys & Games | $938.64 | 216 | ★ 1.0 | 32 | BULK-e1db3db5 |
| 10429 | Bulk Product 5f6bd276 | Clothing | $314.63 | 394 | ★ 2.4 | 78 | BULK-15307f15 |
| 10430 | Bulk Product 15ff8ab7 | Clothing | $329.09 | 13 | ★ 4.4 | 19 | BULK-2fcb911e |
| 10431 | Bulk Product 0c7b40ec | Sports & Outdoors | $222.64 | 34 | ★ 3.3 | 55 | BULK-d2343060 |
| 10432 | Bulk Product dd0d8f80 | Toys & Games | $842.54 | 430 | ★ 4.1 | 45 | BULK-4c72b2c3 |
| 10433 | Bulk Product 1a59791d | Electronics | $55.90 | 410 | ★ 1.2 | 23 | BULK-ab3486cd |
| 10434 | Bulk Product 4680d461 | Toys & Games | $816.62 | 144 | ★ 4.1 | 82 | BULK-a53038aa |
| 10435 | Bulk Product bc65d700 | Clothing | $636.85 | 375 | ★ 3.0 | 7 | BULK-a3aef224 |
| 10436 | Bulk Product 03b31533 | Toys & Games | $725.56 | 195 | ★ 3.2 | 73 | BULK-e7f53caa |
| 10437 | Bulk Product bb66d8d5 | Electronics | $143.05 | 394 | ★ 0.8 | 59 | BULK-7f5f3bc8 |
| 10438 | Bulk Product 32da064e | Books | $882.57 | 108 | ★ 4.7 | 79 | BULK-d4e25bbd |
| 10439 | Bulk Product d129b9cf | Home & Garden | $659.49 | 67 | ★ 0.5 | 40 | BULK-7d37a4f5 |
| 10440 | Bulk Product 0df0add9 | Toys & Games | $206.96 | 476 | ★ 1.0 | 29 | BULK-2e61f830 |
| 10441 | Bulk Product 039bf4a4 | Clothing | $638.32 | 106 | ★ 4.9 | 61 | BULK-b920d1a0 |
| 10442 | Bulk Product 44f54cbe | Clothing | $680.25 | 400 | ★ 3.0 | 5 | BULK-99d1f754 |
| 10443 | Bulk Product f0a571cc | Home & Garden | $775.96 | 399 | ★ 3.0 | 40 | BULK-4ebd2665 |
| 10444 | Bulk Product e00a5613 | Clothing | $241.65 | 139 | ★ 0.5 | 44 | BULK-2c6c606a |
| 10445 | Bulk Product 279e9c5a | Toys & Games | $620.94 | 382 | ★ 0.9 | 83 | BULK-493a852e |
| 10446 | Bulk Product 98b4250e | Clothing | $443.59 | 488 | ★ 3.9 | 98 | BULK-55231ee6 |
| 10447 | Bulk Product 38602a09 | Books | $846.92 | 326 | ★ 2.6 | 14 | BULK-b9fe8b9f |
| 10448 | Bulk Product 4e781488 | Toys & Games | $1,004.28 | 110 | ★ 4.8 | 41 | BULK-65efe7d4 |
| 10449 | Bulk Product 6d64f5fb | Electronics | $877.18 | 409 | ★ 1.4 | 34 | BULK-da78b728 |
| 10450 | Bulk Product 5bee1d5b | Electronics | $317.83 | 104 | ★ 3.9 | 21 | BULK-003e4a66 |
| 10451 | Bulk Product a997f9bf | Home & Garden | $243.96 | 265 | ★ 1.6 | 96 | BULK-f55f934a |
| 10452 | Bulk Product c88d373e | Sports & Outdoors | $758.81 | 107 | ★ 4.9 | 37 | BULK-b592b76c |
| 10453 | Bulk Product 46d88a7b | Electronics | $314.20 | 38 | ★ 3.1 | 8 | BULK-35ba93ce |
| 10454 | Bulk Product bfd33794 | Electronics | $877.30 | 302 | ★ 2.1 | 55 | BULK-bff34a95 |
| 10455 | Bulk Product 5c48f291 | Books | $267.05 | 322 | ★ 0.8 | 74 | BULK-7adecb72 |
| 10456 | Bulk Product addbb9ed | Clothing | $12.05 | 483 | ★ 1.5 | 90 | BULK-cc2bbef0 |
| 10457 | Bulk Product 900f70ef | Clothing | $475.75 | 137 | ★ 2.7 | 11 | BULK-9008abc2 |
| 10458 | Bulk Product cffc9d22 | Clothing | $189.45 | 392 | ★ 2.6 | 61 | BULK-d724af60 |
| 10459 | Bulk Product a827291d | Toys & Games | $395.89 | 124 | ★ 3.7 | 15 | BULK-f449afeb |
// 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
};
}