Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 9710 | Bulk Product ebf035cf | Home & Garden | $345.95 | 368 | ★ 2.3 | 7 | BULK-3c880558 |
| 9711 | Bulk Product c1bafb46 | Home & Garden | $509.35 | 103 | ★ 1.7 | 64 | BULK-5b454a27 |
| 9712 | Bulk Product 59c9c665 | Clothing | $214.84 | 418 | ★ 1.7 | 67 | BULK-ec306db4 |
| 9713 | Bulk Product 0c742997 | Sports & Outdoors | $840.25 | 179 | ★ 2.4 | 8 | BULK-f7f12f22 |
| 9714 | Bulk Product fd287fbf | Books | $453.41 | 188 | ★ 4.3 | 10 | BULK-b5d6bbc1 |
| 9715 | Bulk Product b58ee382 | Sports & Outdoors | $405.38 | 27 | ★ 3.5 | 58 | BULK-924fb430 |
| 9716 | Bulk Product 3c47e8e1 | Sports & Outdoors | $926.00 | 106 | ★ 0.7 | 66 | BULK-dd9bab60 |
| 9717 | Bulk Product 15c7e33e | Books | $611.52 | 264 | ★ 2.8 | 43 | BULK-f2d35441 |
| 9718 | Bulk Product 1a1b2ae2 | Sports & Outdoors | $270.37 | 387 | ★ 0.8 | 77 | BULK-214c493a |
| 9719 | Bulk Product a763da14 | Toys & Games | $62.79 | 320 | ★ 0.4 | 28 | BULK-9596dac5 |
| 9720 | Bulk Product ea24d8ab | Sports & Outdoors | $46.85 | 300 | ★ 4.2 | 70 | BULK-213a9ab0 |
| 9721 | Bulk Product 2cd0fbcb | Toys & Games | $182.85 | 386 | ★ 3.8 | 58 | BULK-28a7346e |
| 9722 | Bulk Product 3e201c7a | Sports & Outdoors | $305.53 | 23 | ★ 1.1 | 20 | BULK-53cd82d0 |
| 9723 | Bulk Product 0113494c | Home & Garden | $534.72 | 202 | ★ 3.7 | 48 | BULK-d3f44821 |
| 9724 | Bulk Product 9f98fe33 | Home & Garden | $668.20 | 429 | ★ 2.0 | 73 | BULK-4ccbf92f |
| 9725 | Bulk Product 88840b04 | Toys & Games | $431.67 | 100 | ★ 2.6 | 12 | BULK-b1e6f18c |
| 9726 | Bulk Product 32817b29 | Electronics | $962.89 | 151 | ★ 1.6 | 46 | BULK-042e9f5c |
| 9727 | Bulk Product 5f57d095 | Home & Garden | $87.96 | 485 | ★ 0.8 | 66 | BULK-3c878d80 |
| 9728 | Bulk Product c8985167 | Books | $109.12 | 439 | ★ 4.3 | 3 | BULK-4c96e6a8 |
| 9729 | Bulk Product f31716ce | Electronics | $361.22 | 318 | ★ 0.4 | 85 | BULK-94a5f575 |
| 9730 | Bulk Product 3fe3ac48 | Sports & Outdoors | $227.67 | 25 | ★ 2.4 | 88 | BULK-85337f75 |
| 9731 | Bulk Product 6eb50f4f | Home & Garden | $874.19 | 387 | ★ 2.4 | 57 | BULK-d67118d0 |
| 9732 | Bulk Product 85ce5af0 | Toys & Games | $116.06 | 395 | ★ 4.6 | 2 | BULK-6bdcc9c9 |
| 9733 | Bulk Product 79baa0e8 | Toys & Games | $773.35 | 226 | ★ 0.7 | 47 | BULK-523c64b1 |
| 9734 | Bulk Product 18fd7b31 | Books | $280.15 | 450 | ★ 1.1 | 12 | BULK-c70595b7 |
| 9735 | Bulk Product 48e9b2a0 | Sports & Outdoors | $373.48 | 266 | ★ 1.2 | 97 | BULK-3570fc23 |
| 9736 | Bulk Product a5c75db3 | Toys & Games | $799.38 | 299 | ★ 1.1 | 70 | BULK-a7e90c78 |
| 9737 | Bulk Product e4451901 | Electronics | $632.81 | 89 | ★ 0.0 | 93 | BULK-e283ee74 |
| 9738 | Bulk Product ca317c9a | Sports & Outdoors | $205.00 | 89 | ★ 0.7 | 90 | BULK-c77716ac |
| 9739 | Bulk Product 90b00257 | Electronics | $453.21 | 84 | ★ 0.7 | 74 | BULK-78728a52 |
| 9740 | Bulk Product 4038de7e | Toys & Games | $881.49 | 432 | ★ 2.6 | 41 | BULK-1522565c |
| 9741 | Bulk Product 8f5803e8 | Books | $640.64 | 414 | ★ 2.0 | 87 | BULK-d816d00c |
| 9742 | Bulk Product ea541110 | Toys & Games | $990.89 | 489 | ★ 4.4 | 8 | BULK-6e30f104 |
| 9743 | Bulk Product eab840e0 | Clothing | $189.52 | 68 | ★ 4.6 | 32 | BULK-5b77dd8d |
| 9744 | Bulk Product 0efebd9e | Toys & Games | $959.90 | 108 | ★ 1.4 | 16 | BULK-333206d8 |
| 9745 | Bulk Product 750a41ce | Clothing | $387.48 | 183 | ★ 4.7 | 0 | BULK-2de1d70a |
| 9746 | Bulk Product 6cb6b828 | Sports & Outdoors | $143.59 | 278 | ★ 2.5 | 16 | BULK-fb574766 |
| 9747 | Bulk Product 23732d34 | Clothing | $602.03 | 293 | ★ 2.0 | 73 | BULK-0a79b7b7 |
| 9748 | Bulk Product 0abe292b | Toys & Games | $608.83 | 144 | ★ 2.8 | 99 | BULK-8137ac0b |
| 9749 | Bulk Product a2acae00 | Electronics | $1,003.86 | 323 | ★ 1.6 | 41 | BULK-601d8bb2 |
| 9750 | Bulk Product 136e96bf | Clothing | $859.76 | 252 | ★ 4.2 | 60 | BULK-3f965758 |
| 9751 | Bulk Product c2fa1693 | Toys & Games | $48.20 | 22 | ★ 2.5 | 31 | BULK-b3c471bd |
| 9752 | Bulk Product 74b76010 | Toys & Games | $659.36 | 223 | ★ 1.6 | 27 | BULK-1ff68c8b |
| 9753 | Bulk Product 30a1ce8f | Electronics | $94.95 | 487 | ★ 1.7 | 20 | BULK-6e9203d2 |
| 9754 | Bulk Product ba92aa7d | Home & Garden | $371.22 | 192 | ★ 1.9 | 70 | BULK-5600025b |
| 9755 | Bulk Product 4db3e2a1 | Sports & Outdoors | $129.52 | 465 | ★ 3.3 | 92 | BULK-ff76b6e4 |
| 9756 | Bulk Product 1ed3bb5f | Electronics | $22.39 | 270 | ★ 0.5 | 1 | BULK-fd058fb6 |
| 9757 | Bulk Product 2f04be78 | Toys & Games | $744.84 | 100 | ★ 2.6 | 67 | BULK-e87c63d2 |
| 9758 | Bulk Product f8163996 | Sports & Outdoors | $381.37 | 416 | ★ 2.4 | 67 | BULK-b4ce30c3 |
| 9759 | Bulk Product d75d07db | Books | $147.95 | 73 | ★ 2.0 | 18 | BULK-d2a4b2f1 |
// 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
};
}