Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 14360 | Bulk Product d6f7db52 | Electronics | $423.06 | 43 | ★ 2.1 | 65 | BULK-a4fca358 |
| 14361 | Bulk Product 420a1e1d | Clothing | $165.81 | 424 | ★ 4.4 | 52 | BULK-a8a74d23 |
| 14362 | Bulk Product 1f8c8ade | Electronics | $68.86 | 277 | ★ 0.0 | 36 | BULK-e689aaad |
| 14363 | Bulk Product 059b25bb | Sports & Outdoors | $741.65 | 299 | ★ 2.4 | 16 | BULK-14cd73af |
| 14364 | Bulk Product 9135ee4f | Books | $376.50 | 97 | ★ 0.7 | 99 | BULK-97da456f |
| 14365 | Bulk Product 554953d9 | Electronics | $262.83 | 75 | ★ 1.0 | 19 | BULK-0545c9f5 |
| 14366 | Bulk Product 79cb10b7 | Clothing | $202.23 | 24 | ★ 0.3 | 3 | BULK-6a0dfe70 |
| 14367 | Bulk Product f59ae6a8 | Electronics | $290.05 | 209 | ★ 4.8 | 55 | BULK-5526e0fe |
| 14368 | Bulk Product 3a758a95 | Books | $956.80 | 432 | ★ 3.0 | 68 | BULK-5695860f |
| 14369 | Bulk Product 01dc4477 | Clothing | $822.23 | 344 | ★ 3.6 | 81 | BULK-970a0583 |
| 14370 | Bulk Product 42ec17b5 | Clothing | $772.93 | 194 | ★ 1.9 | 22 | BULK-83184bb1 |
| 14371 | Bulk Product 68380c3c | Sports & Outdoors | $628.91 | 92 | ★ 4.0 | 53 | BULK-0456e544 |
| 14372 | Bulk Product 35983a3b | Sports & Outdoors | $528.09 | 243 | ★ 4.7 | 31 | BULK-864e170c |
| 14373 | Bulk Product b803b42e | Toys & Games | $104.67 | 121 | ★ 4.4 | 11 | BULK-d3b9324b |
| 14374 | Bulk Product 07191b55 | Clothing | $418.88 | 148 | ★ 0.2 | 7 | BULK-b2581651 |
| 14375 | Bulk Product 346dfa2e | Clothing | $940.21 | 158 | ★ 0.4 | 58 | BULK-ecfe0154 |
| 14376 | Bulk Product 8fc834ce | Books | $13.95 | 492 | ★ 1.8 | 14 | BULK-84e3fe56 |
| 14377 | Bulk Product 821ac32a | Sports & Outdoors | $472.13 | 297 | ★ 0.3 | 40 | BULK-b1b20f00 |
| 14378 | Bulk Product f9989cac | Books | $499.31 | 204 | ★ 2.9 | 84 | BULK-1dcf5ea2 |
| 14379 | Bulk Product 5107f3cb | Books | $765.37 | 255 | ★ 4.3 | 15 | BULK-052885b3 |
| 14380 | Bulk Product a7b47564 | Books | $626.94 | 445 | ★ 3.9 | 70 | BULK-a6861cd0 |
| 14381 | Bulk Product faf4382d | Books | $661.04 | 445 | ★ 3.7 | 12 | BULK-ce3da5f3 |
| 14382 | Bulk Product 2f6bcf32 | Electronics | $80.94 | 498 | ★ 4.1 | 72 | BULK-a074adf6 |
| 14383 | Bulk Product d3c4fed1 | Electronics | $46.50 | 43 | ★ 3.8 | 61 | BULK-482442fc |
| 14384 | Bulk Product e7a3a676 | Home & Garden | $983.01 | 22 | ★ 1.7 | 5 | BULK-0b4a3d14 |
| 14385 | Bulk Product 0a870323 | Sports & Outdoors | $689.96 | 485 | ★ 2.9 | 28 | BULK-c1ff9dec |
| 14386 | Bulk Product 09a458e2 | Books | $794.28 | 25 | ★ 4.3 | 42 | BULK-d2bbff51 |
| 14387 | Bulk Product a6572500 | Clothing | $797.58 | 193 | ★ 3.5 | 81 | BULK-119f8404 |
| 14388 | Bulk Product 4218fd03 | Clothing | $110.40 | 492 | ★ 1.7 | 85 | BULK-f03291be |
| 14389 | Bulk Product 86154528 | Sports & Outdoors | $92.47 | 103 | ★ 0.9 | 29 | BULK-506bc654 |
| 14390 | Bulk Product 5c6f07eb | Books | $65.79 | 342 | ★ 3.2 | 49 | BULK-63b4f9e9 |
| 14391 | Bulk Product d1d0d257 | Books | $579.13 | 45 | ★ 3.0 | 41 | BULK-eb00281e |
| 14392 | Bulk Product 924dcf9b | Sports & Outdoors | $97.26 | 4 | ★ 0.4 | 48 | BULK-19d18a6c |
| 14393 | Bulk Product 30876789 | Books | $461.54 | 13 | ★ 3.1 | 12 | BULK-f47bb154 |
| 14394 | Bulk Product c33859ea | Books | $219.79 | 233 | ★ 4.8 | 24 | BULK-d6469058 |
| 14395 | Bulk Product 10658ad2 | Electronics | $779.89 | 479 | ★ 4.6 | 52 | BULK-bd0223a0 |
| 14396 | Bulk Product ffa6cfea | Home & Garden | $372.24 | 455 | ★ 2.3 | 15 | BULK-2de811db |
| 14397 | Bulk Product f9c65c8a | Electronics | $208.31 | 359 | ★ 3.7 | 33 | BULK-3cbd5265 |
| 14398 | Bulk Product 5916d66e | Toys & Games | $363.09 | 105 | ★ 0.7 | 92 | BULK-d9e56644 |
| 14399 | Bulk Product 81c7dd16 | Books | $69.75 | 292 | ★ 4.7 | 39 | BULK-08dbcf61 |
| 14400 | Bulk Product dde65b00 | Books | $929.01 | 387 | ★ 2.2 | 53 | BULK-dacd35e9 |
| 14401 | Bulk Product 9c1493b6 | Home & Garden | $558.29 | 485 | ★ 3.8 | 86 | BULK-f07481e7 |
| 14402 | Bulk Product c7490fd5 | Electronics | $124.76 | 477 | ★ 2.7 | 15 | BULK-379b0311 |
| 14403 | Bulk Product aa4a4d01 | Home & Garden | $885.68 | 219 | ★ 3.3 | 3 | BULK-e001d043 |
| 14404 | Bulk Product 9fd08d87 | Clothing | $400.05 | 494 | ★ 3.2 | 51 | BULK-5c35d115 |
| 14405 | Bulk Product bacd2ff0 | Toys & Games | $364.35 | 448 | ★ 0.5 | 76 | BULK-7cde4fc6 |
| 14406 | Bulk Product ce49a8d4 | Electronics | $43.66 | 114 | ★ 1.7 | 82 | BULK-8da2501d |
| 14407 | Bulk Product 6c607990 | Sports & Outdoors | $193.77 | 407 | ★ 1.5 | 76 | BULK-c16525b5 |
| 14408 | Bulk Product 391f166d | Toys & Games | $426.50 | 73 | ★ 1.5 | 50 | BULK-1e112b67 |
| 14409 | Bulk Product 3ac58937 | Books | $894.57 | 475 | ★ 3.6 | 4 | BULK-97b89671 |
// 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
};
}