Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 16710 | Bulk Product a0eb27ff | Books | $768.41 | 10 | ★ 1.3 | 67 | BULK-de73f31d |
| 16711 | Bulk Product e4e60b17 | Clothing | $375.66 | 404 | ★ 2.4 | 71 | BULK-073ebb8d |
| 16712 | Bulk Product 0153d40b | Toys & Games | $176.99 | 57 | ★ 2.5 | 53 | BULK-2bc06274 |
| 16713 | Bulk Product 6088f8a7 | Clothing | $487.69 | 95 | ★ 4.9 | 82 | BULK-3c5c7674 |
| 16714 | Bulk Product 37c653d2 | Books | $208.96 | 466 | ★ 0.4 | 88 | BULK-ebe29fcf |
| 16715 | Bulk Product 5f7168c2 | Toys & Games | $804.67 | 320 | ★ 2.2 | 51 | BULK-b9919bd0 |
| 16716 | Bulk Product ceefa1d6 | Toys & Games | $398.74 | 208 | ★ 2.8 | 90 | BULK-5cb4b450 |
| 16717 | Bulk Product dc3b9cf9 | Toys & Games | $744.02 | 137 | ★ 2.7 | 19 | BULK-a577d9f8 |
| 16718 | Bulk Product cdcd7f4e | Electronics | $488.06 | 156 | ★ 4.5 | 31 | BULK-fa1138af |
| 16719 | Bulk Product 58a75b03 | Toys & Games | $89.02 | 5 | ★ 1.1 | 23 | BULK-e927e852 |
| 16720 | Bulk Product 8cb0e8d9 | Books | $904.31 | 156 | ★ 4.0 | 97 | BULK-642d1501 |
| 16721 | Bulk Product 18767c69 | Books | $92.70 | 120 | ★ 4.9 | 20 | BULK-9cb13d7e |
| 16722 | Bulk Product 8c68d748 | Clothing | $722.66 | 131 | ★ 2.5 | 11 | BULK-cfe77cef |
| 16723 | Bulk Product 21f89338 | Toys & Games | $407.32 | 232 | ★ 4.0 | 86 | BULK-7e990ce1 |
| 16724 | Bulk Product a03b8761 | Electronics | $977.93 | 274 | ★ 3.7 | 22 | BULK-8f34487e |
| 16725 | Bulk Product c056cb9b | Toys & Games | $963.22 | 222 | ★ 3.8 | 10 | BULK-4b244eae |
| 16726 | Bulk Product 2c2e328d | Sports & Outdoors | $981.88 | 169 | ★ 2.6 | 92 | BULK-e0e3f996 |
| 16727 | Bulk Product 18d708b3 | Sports & Outdoors | $662.59 | 391 | ★ 1.8 | 2 | BULK-89cd8332 |
| 16728 | Bulk Product f04e5bdc | Home & Garden | $29.65 | 491 | ★ 2.5 | 77 | BULK-51630771 |
| 16729 | Bulk Product 08202b3d | Home & Garden | $861.72 | 317 | ★ 0.4 | 22 | BULK-26b230ce |
| 16730 | Bulk Product a1f662a6 | Clothing | $573.27 | 96 | ★ 1.4 | 99 | BULK-66f567df |
| 16731 | Bulk Product 1c24c348 | Books | $123.93 | 113 | ★ 4.9 | 78 | BULK-8d81c2d4 |
| 16732 | Bulk Product 8995eaf7 | Electronics | $603.45 | 461 | ★ 4.8 | 91 | BULK-1c09badc |
| 16733 | Bulk Product c3aa591b | Sports & Outdoors | $989.25 | 422 | ★ 2.1 | 21 | BULK-d1e5832b |
| 16734 | Bulk Product 94e31284 | Books | $894.79 | 255 | ★ 4.3 | 87 | BULK-71be58c7 |
| 16735 | Bulk Product b5e05d2e | Home & Garden | $493.64 | 458 | ★ 1.1 | 43 | BULK-b456157f |
| 16736 | Bulk Product 0f4296ba | Home & Garden | $179.32 | 298 | ★ 1.7 | 51 | BULK-a198eb56 |
| 16737 | Bulk Product 5e98b220 | Sports & Outdoors | $95.81 | 344 | ★ 0.8 | 46 | BULK-f96164a9 |
| 16738 | Bulk Product b37d156d | Books | $945.56 | 280 | ★ 3.1 | 72 | BULK-bde5c6e2 |
| 16739 | Bulk Product e05f7e16 | Books | $164.88 | 108 | ★ 3.2 | 11 | BULK-b6f37d0a |
| 16740 | Bulk Product 32c22933 | Clothing | $47.49 | 109 | ★ 3.9 | 88 | BULK-1fd31d8d |
| 16741 | Bulk Product d072e116 | Sports & Outdoors | $977.60 | 164 | ★ 2.1 | 76 | BULK-71b2210d |
| 16742 | Bulk Product ffe3ba1c | Clothing | $171.12 | 176 | ★ 4.2 | 53 | BULK-dc6b17f8 |
| 16743 | Bulk Product 4de71f21 | Clothing | $102.64 | 109 | ★ 3.1 | 61 | BULK-4e948e0b |
| 16744 | Bulk Product 638bc38b | Toys & Games | $254.72 | 238 | ★ 2.0 | 90 | BULK-33ebf439 |
| 16745 | Bulk Product f69c50ba | Electronics | $996.68 | 366 | ★ 0.3 | 36 | BULK-604d9ed4 |
| 16746 | Bulk Product 92329279 | Home & Garden | $22.25 | 113 | ★ 0.0 | 96 | BULK-b59db224 |
| 16747 | Bulk Product 88634070 | Clothing | $215.05 | 306 | ★ 4.9 | 64 | BULK-73552f1c |
| 16748 | Bulk Product 7905f28a | Books | $243.34 | 270 | ★ 1.9 | 76 | BULK-f4eca0af |
| 16749 | Bulk Product 4184ee89 | Clothing | $317.64 | 65 | ★ 4.6 | 16 | BULK-4001b792 |
| 16750 | Bulk Product a0cd5823 | Electronics | $541.71 | 222 | ★ 1.2 | 3 | BULK-440c90e6 |
| 16751 | Bulk Product 5dadddbe | Toys & Games | $467.61 | 399 | ★ 2.9 | 61 | BULK-442e731c |
| 16752 | Bulk Product aa0aea06 | Home & Garden | $410.32 | 202 | ★ 1.9 | 70 | BULK-c2f92fdb |
| 16753 | Bulk Product b3f70ce2 | Electronics | $612.74 | 125 | ★ 0.3 | 35 | BULK-575fcee1 |
| 16754 | Bulk Product 8f92060e | Books | $387.81 | 252 | ★ 3.1 | 50 | BULK-126979ca |
| 16755 | Bulk Product 642686d4 | Toys & Games | $898.23 | 312 | ★ 0.8 | 28 | BULK-d5141815 |
| 16756 | Bulk Product dbe3ce0b | Sports & Outdoors | $495.12 | 431 | ★ 0.0 | 12 | BULK-1395376d |
| 16757 | Bulk Product 4e739e0b | Books | $227.05 | 383 | ★ 0.3 | 38 | BULK-a8d568e2 |
| 16758 | Bulk Product 02f3f904 | Home & Garden | $470.54 | 165 | ★ 4.9 | 3 | BULK-ddf40765 |
| 16759 | Bulk Product 77738a57 | Clothing | $766.70 | 25 | ★ 2.6 | 59 | BULK-462dbd32 |
// 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
};
}