Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 14460 | Bulk Product b9ed3fbb | Home & Garden | $483.20 | 193 | ★ 4.5 | 55 | BULK-2d6e1809 |
| 14461 | Bulk Product 04857447 | Sports & Outdoors | $717.86 | 206 | ★ 3.0 | 99 | BULK-8dd7c90e |
| 14462 | Bulk Product 8e81b0e9 | Clothing | $104.07 | 54 | ★ 1.5 | 46 | BULK-513888fd |
| 14463 | Bulk Product 476e1ed2 | Clothing | $39.52 | 454 | ★ 4.8 | 61 | BULK-f1a42945 |
| 14464 | Bulk Product 0f384804 | Home & Garden | $303.71 | 452 | ★ 4.6 | 26 | BULK-07dfa740 |
| 14465 | Bulk Product ae9b49a7 | Books | $488.17 | 227 | ★ 2.4 | 59 | BULK-d8bc0952 |
| 14466 | Bulk Product f4ae53e8 | Clothing | $960.99 | 407 | ★ 4.3 | 71 | BULK-5b927ac2 |
| 14467 | Bulk Product 3a3e2608 | Clothing | $877.19 | 487 | ★ 3.4 | 80 | BULK-5a9d5571 |
| 14468 | Bulk Product bf8305d8 | Sports & Outdoors | $981.32 | 111 | ★ 4.7 | 60 | BULK-ff18ec81 |
| 14469 | Bulk Product 35d81528 | Home & Garden | $364.72 | 423 | ★ 3.3 | 60 | BULK-8e9cbfbb |
| 14470 | Bulk Product c48d95fd | Electronics | $634.03 | 461 | ★ 1.6 | 83 | BULK-ca778cbc |
| 14471 | Bulk Product 992684ba | Sports & Outdoors | $918.47 | 62 | ★ 3.6 | 50 | BULK-f12a471b |
| 14472 | Bulk Product 9ec75c50 | Home & Garden | $573.66 | 294 | ★ 1.6 | 57 | BULK-81c2371f |
| 14473 | Bulk Product 7324b986 | Home & Garden | $477.17 | 322 | ★ 1.3 | 29 | BULK-7b27a831 |
| 14474 | Bulk Product 1e7eb7bc | Sports & Outdoors | $331.88 | 265 | ★ 4.9 | 33 | BULK-1656a7f5 |
| 14475 | Bulk Product 29ddb1d4 | Books | $405.46 | 27 | ★ 0.0 | 4 | BULK-406cee33 |
| 14476 | Bulk Product 55768e5b | Clothing | $885.02 | 34 | ★ 1.4 | 4 | BULK-f2f4b41a |
| 14477 | Bulk Product 31c1dadc | Toys & Games | $50.71 | 468 | ★ 2.0 | 52 | BULK-b1dfbe7c |
| 14478 | Bulk Product 3541ad7f | Sports & Outdoors | $907.59 | 151 | ★ 2.8 | 10 | BULK-fdcb1410 |
| 14479 | Bulk Product aa3717ef | Home & Garden | $555.52 | 245 | ★ 2.9 | 35 | BULK-6e5b6990 |
| 14480 | Bulk Product 7790a51f | Home & Garden | $232.50 | 460 | ★ 3.5 | 61 | BULK-37a0d54d |
| 14481 | Bulk Product 059bf8a0 | Books | $917.55 | 43 | ★ 4.8 | 85 | BULK-2b936fc5 |
| 14482 | Bulk Product a5be0c49 | Books | $13.87 | 182 | ★ 3.5 | 7 | BULK-2d43b455 |
| 14483 | Bulk Product c511d882 | Toys & Games | $857.57 | 20 | ★ 0.8 | 56 | BULK-f72dd974 |
| 14484 | Bulk Product 3a1cbe51 | Toys & Games | $516.60 | 206 | ★ 4.3 | 62 | BULK-b05f7e8c |
| 14485 | Bulk Product 460022a5 | Books | $1,007.65 | 139 | ★ 1.9 | 56 | BULK-9cda37be |
| 14486 | Bulk Product 10624770 | Sports & Outdoors | $740.03 | 205 | ★ 2.2 | 69 | BULK-741e9bb3 |
| 14487 | Bulk Product 5774a8ea | Electronics | $722.29 | 371 | ★ 4.7 | 54 | BULK-82695413 |
| 14488 | Bulk Product 783ff43d | Clothing | $809.05 | 28 | ★ 5.0 | 12 | BULK-3c40daab |
| 14489 | Bulk Product 62a88444 | Home & Garden | $278.77 | 255 | ★ 4.6 | 34 | BULK-38e3edbf |
| 14490 | Bulk Product b8979f3c | Books | $581.77 | 219 | ★ 4.5 | 86 | BULK-509d6c4f |
| 14491 | Bulk Product 8bf7ee4d | Sports & Outdoors | $537.93 | 369 | ★ 3.0 | 11 | BULK-309a85cc |
| 14492 | Bulk Product a2808a02 | Sports & Outdoors | $14.17 | 42 | ★ 3.0 | 97 | BULK-824a9155 |
| 14493 | Bulk Product 9f6f4c55 | Clothing | $116.10 | 32 | ★ 2.0 | 49 | BULK-68be543c |
| 14494 | Bulk Product 3132aa38 | Clothing | $65.77 | 498 | ★ 0.8 | 3 | BULK-7a6f0daf |
| 14495 | Bulk Product d56b3ccc | Clothing | $526.56 | 473 | ★ 3.4 | 71 | BULK-cafe491a |
| 14496 | Bulk Product 995a27b4 | Books | $704.54 | 49 | ★ 0.5 | 57 | BULK-d8c6ef91 |
| 14497 | Bulk Product e7435ed7 | Home & Garden | $132.64 | 206 | ★ 1.1 | 20 | BULK-b3973e74 |
| 14498 | Bulk Product 569e46e4 | Sports & Outdoors | $151.29 | 311 | ★ 0.8 | 30 | BULK-7371e0ea |
| 14499 | Bulk Product 25e35880 | Toys & Games | $282.69 | 431 | ★ 3.5 | 47 | BULK-b228c83a |
| 14500 | Bulk Product c50a7b58 | Home & Garden | $215.08 | 143 | ★ 2.2 | 82 | BULK-a9e63dc3 |
| 14501 | Bulk Product bdf6870b | Toys & Games | $232.32 | 370 | ★ 3.3 | 85 | BULK-7b7d2d63 |
| 14502 | Bulk Product 8989e1a6 | Toys & Games | $889.57 | 230 | ★ 1.3 | 39 | BULK-6cb27787 |
| 14503 | Bulk Product e3ff71bd | Toys & Games | $737.80 | 132 | ★ 1.4 | 92 | BULK-cf0c9fc2 |
| 14504 | Bulk Product e7d0b0b3 | Books | $793.47 | 346 | ★ 3.8 | 55 | BULK-6fa1a1c5 |
| 14505 | Bulk Product 6fbfd81b | Electronics | $535.52 | 116 | ★ 3.3 | 54 | BULK-db7a880e |
| 14506 | Bulk Product f8e11838 | Home & Garden | $216.00 | 153 | ★ 0.5 | 71 | BULK-5f5c6b02 |
| 14507 | Bulk Product f75e0f9e | Sports & Outdoors | $864.42 | 136 | ★ 4.5 | 99 | BULK-673afd9b |
| 14508 | Bulk Product 860b710b | Clothing | $298.19 | 108 | ★ 3.2 | 5 | BULK-ff5a5a24 |
| 14509 | Bulk Product 43c364ef | Sports & Outdoors | $661.94 | 277 | ★ 1.1 | 71 | BULK-b5f6b57e |
// 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
};
}