Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 17460 | Bulk Product 621673cf | Home & Garden | $26.43 | 170 | ★ 3.9 | 87 | BULK-1bab31a1 |
| 17461 | Bulk Product aa7993f7 | Books | $335.55 | 225 | ★ 3.0 | 51 | BULK-fec3790c |
| 17462 | Bulk Product e52e3046 | Electronics | $974.98 | 326 | ★ 0.4 | 19 | BULK-93ca459d |
| 17463 | Bulk Product 2966a2f2 | Books | $278.38 | 369 | ★ 4.2 | 21 | BULK-63331fb4 |
| 17464 | Bulk Product 00f96cba | Sports & Outdoors | $431.86 | 205 | ★ 0.3 | 30 | BULK-774c06e9 |
| 17465 | Bulk Product b935fbca | Home & Garden | $117.48 | 178 | ★ 2.2 | 9 | BULK-b691c838 |
| 17466 | Bulk Product 305c4882 | Books | $623.77 | 451 | ★ 0.9 | 53 | BULK-e8e03e02 |
| 17467 | Bulk Product c0370525 | Books | $403.46 | 128 | ★ 1.0 | 85 | BULK-7eae7d1b |
| 17468 | Bulk Product c05e6189 | Sports & Outdoors | $567.84 | 481 | ★ 3.1 | 62 | BULK-1d792df4 |
| 17469 | Bulk Product f8d333c6 | Clothing | $330.73 | 289 | ★ 3.1 | 96 | BULK-f0fb2638 |
| 17470 | Bulk Product 3ad1ed7f | Electronics | $814.30 | 242 | ★ 2.0 | 9 | BULK-21e4a900 |
| 17471 | Bulk Product 7003c1b2 | Electronics | $841.85 | 261 | ★ 1.9 | 32 | BULK-5684a57c |
| 17472 | Bulk Product 0c469984 | Books | $886.35 | 86 | ★ 4.8 | 74 | BULK-27b0e85c |
| 17473 | Bulk Product 39f6c619 | Sports & Outdoors | $955.69 | 119 | ★ 4.9 | 55 | BULK-2728164f |
| 17474 | Bulk Product 226999ce | Clothing | $36.59 | 265 | ★ 0.9 | 66 | BULK-e8dc940d |
| 17475 | Bulk Product d381954e | Sports & Outdoors | $476.31 | 469 | ★ 0.7 | 82 | BULK-4f273d9f |
| 17476 | Bulk Product c2dd41ee | Books | $337.76 | 88 | ★ 2.8 | 26 | BULK-5f5f350c |
| 17477 | Bulk Product d4fa7d16 | Electronics | $439.99 | 234 | ★ 0.2 | 32 | BULK-47159179 |
| 17478 | Bulk Product 93ff0d34 | Books | $415.49 | 404 | ★ 3.0 | 8 | BULK-5b19605b |
| 17479 | Bulk Product 552f8336 | Books | $857.20 | 222 | ★ 3.3 | 84 | BULK-34a18b65 |
| 17480 | Bulk Product 4b99bac6 | Home & Garden | $977.54 | 331 | ★ 0.0 | 19 | BULK-e569037d |
| 17481 | Bulk Product 24e66e61 | Sports & Outdoors | $261.91 | 156 | ★ 3.8 | 89 | BULK-8f01ba8b |
| 17482 | Bulk Product 7ce59b43 | Books | $78.82 | 360 | ★ 2.6 | 12 | BULK-6c60b6d8 |
| 17483 | Bulk Product 5920e3e3 | Books | $15.91 | 213 | ★ 3.8 | 1 | BULK-604cfed3 |
| 17484 | Bulk Product 8b006182 | Sports & Outdoors | $540.86 | 457 | ★ 1.6 | 36 | BULK-cb6835c5 |
| 17485 | Bulk Product 7300098f | Electronics | $364.90 | 68 | ★ 2.3 | 96 | BULK-ee3dbd18 |
| 17486 | Bulk Product c731398e | Books | $405.47 | 429 | ★ 1.7 | 82 | BULK-d3f19a6d |
| 17487 | Bulk Product 3aea498a | Books | $907.50 | 197 | ★ 3.0 | 6 | BULK-3c33a76b |
| 17488 | Bulk Product b75c1919 | Clothing | $321.36 | 59 | ★ 0.6 | 30 | BULK-0d3b0743 |
| 17489 | Bulk Product 71984174 | Home & Garden | $880.26 | 161 | ★ 3.0 | 27 | BULK-b32d0c6c |
| 17490 | Bulk Product 88d9adb9 | Toys & Games | $837.37 | 76 | ★ 0.3 | 62 | BULK-afb601db |
| 17491 | Bulk Product 6bddc5c0 | Electronics | $957.33 | 26 | ★ 2.4 | 4 | BULK-875e2722 |
| 17492 | Bulk Product 6dc71c0f | Home & Garden | $550.24 | 147 | ★ 0.8 | 69 | BULK-dff43694 |
| 17493 | Bulk Product a73348ff | Electronics | $100.51 | 206 | ★ 4.0 | 69 | BULK-dfaf06e9 |
| 17494 | Bulk Product c29836d5 | Sports & Outdoors | $430.78 | 189 | ★ 2.3 | 10 | BULK-5da7f505 |
| 17495 | Bulk Product 65bf4c78 | Electronics | $659.99 | 479 | ★ 0.4 | 80 | BULK-59ae8a85 |
| 17496 | Bulk Product b4c72b10 | Toys & Games | $780.68 | 157 | ★ 4.2 | 57 | BULK-124b6adb |
| 17497 | Bulk Product 0221b517 | Sports & Outdoors | $182.23 | 418 | ★ 1.2 | 69 | BULK-374cf208 |
| 17498 | Bulk Product 4cacb70a | Books | $165.61 | 482 | ★ 1.0 | 38 | BULK-6738b47d |
| 17499 | Bulk Product bac30974 | Books | $294.57 | 429 | ★ 1.8 | 86 | BULK-f3e61100 |
| 17500 | Bulk Product d65288bd | Books | $495.28 | 74 | ★ 3.6 | 65 | BULK-56334095 |
| 17501 | Bulk Product 9abece18 | Toys & Games | $604.90 | 368 | ★ 2.2 | 57 | BULK-1b85298a |
| 17502 | Bulk Product fd3be77c | Home & Garden | $303.05 | 341 | ★ 4.9 | 33 | BULK-d3f6dd21 |
| 17503 | Bulk Product fd89de0b | Home & Garden | $525.27 | 52 | ★ 0.6 | 9 | BULK-0c0e6ef9 |
| 17504 | Bulk Product 6d5aa145 | Clothing | $676.44 | 391 | ★ 4.0 | 67 | BULK-b672693f |
| 17505 | Bulk Product 69cb44da | Sports & Outdoors | $499.76 | 484 | ★ 4.3 | 70 | BULK-22904f42 |
| 17506 | Bulk Product 4473ac62 | Home & Garden | $527.15 | 313 | ★ 1.4 | 50 | BULK-921c2c61 |
| 17507 | Bulk Product 966d7f33 | Sports & Outdoors | $917.96 | 481 | ★ 3.2 | 29 | BULK-55366f1b |
| 17508 | Bulk Product 02c71c39 | Books | $988.77 | 303 | ★ 1.2 | 29 | BULK-d6264eab |
| 17509 | Bulk Product c16659ca | Sports & Outdoors | $878.29 | 27 | ★ 0.3 | 31 | BULK-b7f06082 |
// 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
};
}