Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 17110 | Bulk Product 2f13e6dc | Home & Garden | $91.51 | 425 | ★ 3.0 | 99 | BULK-521fbc3a |
| 17111 | Bulk Product 9aed46da | Toys & Games | $432.67 | 427 | ★ 0.3 | 46 | BULK-c1106843 |
| 17112 | Bulk Product 1d40f293 | Home & Garden | $454.82 | 347 | ★ 3.8 | 42 | BULK-83b0f061 |
| 17113 | Bulk Product 21a05dde | Home & Garden | $194.89 | 14 | ★ 1.2 | 70 | BULK-ba7080e6 |
| 17114 | Bulk Product 81a5d4a7 | Sports & Outdoors | $475.63 | 439 | ★ 1.4 | 22 | BULK-8e1fc669 |
| 17115 | Bulk Product 38e6371d | Home & Garden | $910.79 | 493 | ★ 4.3 | 50 | BULK-8da13a3d |
| 17116 | Bulk Product 9466d355 | Books | $113.44 | 213 | ★ 1.2 | 58 | BULK-40cf2a8c |
| 17117 | Bulk Product 99a701b7 | Books | $767.32 | 467 | ★ 2.3 | 51 | BULK-c26301f9 |
| 17118 | Bulk Product d2dd93c3 | Clothing | $743.10 | 462 | ★ 1.3 | 0 | BULK-06bca4bb |
| 17119 | Bulk Product 006f3e70 | Books | $333.42 | 28 | ★ 0.2 | 17 | BULK-2a7a8763 |
| 17120 | Bulk Product 97bad57c | Home & Garden | $655.05 | 245 | ★ 3.5 | 69 | BULK-29b5e3c1 |
| 17121 | Bulk Product 33ceed11 | Sports & Outdoors | $76.73 | 72 | ★ 2.6 | 38 | BULK-d7f50018 |
| 17122 | Bulk Product 4e59b22a | Home & Garden | $864.87 | 227 | ★ 2.8 | 51 | BULK-cb86acf4 |
| 17123 | Bulk Product 2576d7c2 | Sports & Outdoors | $247.21 | 77 | ★ 1.4 | 58 | BULK-193cace8 |
| 17124 | Bulk Product 6a29c828 | Electronics | $916.35 | 386 | ★ 3.6 | 48 | BULK-47b08560 |
| 17125 | Bulk Product a59abb71 | Books | $769.90 | 35 | ★ 3.3 | 87 | BULK-e1f3d972 |
| 17126 | Bulk Product 1f66b712 | Home & Garden | $640.51 | 431 | ★ 2.3 | 16 | BULK-109328d3 |
| 17127 | Bulk Product 86678cff | Home & Garden | $738.22 | 458 | ★ 1.8 | 23 | BULK-805b2a5a |
| 17128 | Bulk Product df498c9c | Clothing | $858.99 | 379 | ★ 0.6 | 70 | BULK-6a7c9413 |
| 17129 | Bulk Product 70546d35 | Clothing | $434.26 | 90 | ★ 4.8 | 99 | BULK-46af0c7e |
| 17130 | Bulk Product ced59156 | Electronics | $379.56 | 276 | ★ 3.0 | 27 | BULK-a327ac1d |
| 17131 | Bulk Product 7f52f74c | Books | $661.93 | 456 | ★ 5.0 | 6 | BULK-57fa5479 |
| 17132 | Bulk Product 5461f564 | Books | $802.83 | 380 | ★ 0.1 | 85 | BULK-12f09fb4 |
| 17133 | Bulk Product 667376a8 | Home & Garden | $101.14 | 479 | ★ 2.9 | 89 | BULK-796de977 |
| 17134 | Bulk Product c5ac24af | Electronics | $478.26 | 91 | ★ 3.8 | 76 | BULK-ccaac6b9 |
| 17135 | Bulk Product b7f6653f | Books | $665.37 | 164 | ★ 1.3 | 37 | BULK-126e2739 |
| 17136 | Bulk Product 81bb618e | Home & Garden | $145.03 | 10 | ★ 0.1 | 92 | BULK-b26aa736 |
| 17137 | Bulk Product 2b26e5b0 | Books | $661.73 | 355 | ★ 2.0 | 41 | BULK-fd8781c3 |
| 17138 | Bulk Product 14373589 | Electronics | $654.81 | 329 | ★ 0.6 | 37 | BULK-090a6dfc |
| 17139 | Bulk Product 2da33254 | Sports & Outdoors | $976.92 | 367 | ★ 1.7 | 70 | BULK-6ed4cf2c |
| 17140 | Bulk Product e3ef5d78 | Home & Garden | $253.19 | 295 | ★ 1.9 | 39 | BULK-5c552d85 |
| 17141 | Bulk Product 631cce5b | Books | $17.96 | 191 | ★ 2.0 | 80 | BULK-2a7c2b4f |
| 17142 | Bulk Product a6c97900 | Home & Garden | $80.06 | 355 | ★ 3.7 | 98 | BULK-1a89f974 |
| 17143 | Bulk Product 23aeb7f0 | Clothing | $972.82 | 131 | ★ 0.1 | 31 | BULK-6ff2652c |
| 17144 | Bulk Product c0577d5b | Books | $667.52 | 215 | ★ 0.2 | 58 | BULK-8dcffde4 |
| 17145 | Bulk Product f14d4fd9 | Home & Garden | $974.93 | 441 | ★ 1.3 | 31 | BULK-e85aefa4 |
| 17146 | Bulk Product 44efc14d | Electronics | $379.10 | 239 | ★ 4.4 | 84 | BULK-7210325b |
| 17147 | Bulk Product ab0f88f7 | Sports & Outdoors | $799.80 | 491 | ★ 4.1 | 95 | BULK-147f9365 |
| 17148 | Bulk Product b8bb4e00 | Clothing | $918.33 | 56 | ★ 0.2 | 18 | BULK-0a266bfb |
| 17149 | Bulk Product 694d5214 | Sports & Outdoors | $303.45 | 94 | ★ 1.8 | 44 | BULK-e88c0056 |
| 17150 | Bulk Product 34f3a62e | Toys & Games | $631.30 | 370 | ★ 3.7 | 43 | BULK-56e429ec |
| 17151 | Bulk Product 56748633 | Sports & Outdoors | $231.79 | 276 | ★ 0.3 | 22 | BULK-5ec40e64 |
| 17152 | Bulk Product 6e991de1 | Clothing | $646.68 | 166 | ★ 1.4 | 57 | BULK-9c8e3491 |
| 17153 | Bulk Product 8cf0f876 | Toys & Games | $518.88 | 77 | ★ 0.7 | 70 | BULK-4f7ae5f5 |
| 17154 | Bulk Product 6329fc86 | Clothing | $29.00 | 1 | ★ 1.2 | 66 | BULK-c4b1e5dc |
| 17155 | Bulk Product 5c9c37cc | Books | $855.89 | 254 | ★ 3.5 | 2 | BULK-ac1b042a |
| 17156 | Bulk Product b3b33633 | Toys & Games | $173.44 | 193 | ★ 3.6 | 63 | BULK-81716ccb |
| 17157 | Bulk Product 308793fa | Books | $13.25 | 375 | ★ 4.3 | 54 | BULK-46a78144 |
| 17158 | Bulk Product 082b12ae | Clothing | $330.92 | 391 | ★ 0.6 | 13 | BULK-3fccd550 |
| 17159 | Bulk Product c4aa64b2 | Sports & Outdoors | $546.93 | 0 | ★ 4.6 | 87 | BULK-5385649b |
// 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
};
}