Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 24910 | Bulk Product 51e2ac46 | Books | $881.96 | 126 | ★ 2.0 | 1 | BULK-957fa2b1 |
| 24911 | Bulk Product 1f9e73e9 | Sports & Outdoors | $143.71 | 71 | ★ 4.5 | 72 | BULK-ace92267 |
| 24912 | Bulk Product 343b81ac | Clothing | $869.09 | 395 | ★ 1.6 | 20 | BULK-6e9ce55a |
| 24913 | Bulk Product e9772ab1 | Home & Garden | $895.95 | 183 | ★ 1.8 | 63 | BULK-b0cf5b95 |
| 24914 | Bulk Product b61abd37 | Toys & Games | $777.08 | 108 | ★ 4.2 | 30 | BULK-03484257 |
| 24915 | Bulk Product 9b04c751 | Electronics | $666.46 | 296 | ★ 0.1 | 73 | BULK-ee81aca7 |
| 24916 | Bulk Product 4aad75b1 | Electronics | $730.07 | 204 | ★ 1.8 | 12 | BULK-cd398bac |
| 24917 | Bulk Product cab593b0 | Home & Garden | $277.54 | 383 | ★ 1.8 | 48 | BULK-60b06da7 |
| 24918 | Bulk Product 07aef9fe | Toys & Games | $715.52 | 218 | ★ 1.5 | 90 | BULK-6fe10448 |
| 24919 | Bulk Product 39e6fed9 | Books | $263.22 | 362 | ★ 2.4 | 91 | BULK-6ad6ca11 |
| 24920 | Bulk Product 4f25eb1b | Books | $983.91 | 31 | ★ 3.5 | 8 | BULK-d0c53e7e |
| 24921 | Bulk Product 41dba946 | Home & Garden | $250.02 | 484 | ★ 3.2 | 60 | BULK-a14bd575 |
| 24922 | Bulk Product 642410e9 | Electronics | $474.83 | 304 | ★ 1.5 | 7 | BULK-8c3c9b3e |
| 24923 | Bulk Product 3f10e254 | Electronics | $727.41 | 405 | ★ 0.5 | 93 | BULK-0530c44f |
| 24924 | Bulk Product b0b4b3be | Electronics | $635.18 | 119 | ★ 2.9 | 15 | BULK-ed069fb3 |
| 24925 | Bulk Product 6b6bdedb | Electronics | $883.48 | 320 | ★ 2.7 | 23 | BULK-41420f7b |
| 24926 | Bulk Product 9cf55f28 | Home & Garden | $582.65 | 119 | ★ 4.4 | 80 | BULK-cbc49f6e |
| 24927 | Bulk Product ba716b35 | Books | $604.37 | 364 | ★ 1.5 | 83 | BULK-dd48ec89 |
| 24928 | Bulk Product d32ebf4f | Clothing | $101.30 | 461 | ★ 4.4 | 21 | BULK-077a7c3e |
| 24929 | Bulk Product dcdc02eb | Electronics | $223.06 | 361 | ★ 3.9 | 9 | BULK-8af77153 |
| 24930 | Bulk Product 40fcdbd1 | Toys & Games | $454.52 | 277 | ★ 1.0 | 29 | BULK-5b788614 |
| 24931 | Bulk Product 7ea612f9 | Electronics | $932.94 | 126 | ★ 4.6 | 53 | BULK-95f5cc91 |
| 24932 | Bulk Product 69528a08 | Sports & Outdoors | $266.40 | 219 | ★ 1.7 | 21 | BULK-97a5d1de |
| 24933 | Bulk Product 8b78197d | Sports & Outdoors | $122.03 | 464 | ★ 3.1 | 8 | BULK-90451479 |
| 24934 | Bulk Product 085ba039 | Toys & Games | $870.87 | 486 | ★ 2.1 | 19 | BULK-ff6c4b0e |
| 24935 | Bulk Product 6ff07c47 | Home & Garden | $73.01 | 473 | ★ 4.5 | 83 | BULK-b664426f |
| 24936 | Bulk Product 425c935c | Toys & Games | $670.77 | 289 | ★ 0.4 | 45 | BULK-8aec43ff |
| 24937 | Bulk Product 01f2bf4a | Electronics | $607.92 | 105 | ★ 0.6 | 59 | BULK-89124d40 |
| 24938 | Bulk Product aa06bffb | Electronics | $993.65 | 287 | ★ 3.2 | 94 | BULK-b6b339d6 |
| 24939 | Bulk Product d97857a2 | Clothing | $307.42 | 139 | ★ 1.9 | 82 | BULK-5498d3c0 |
| 24940 | Bulk Product ad1bebab | Sports & Outdoors | $149.08 | 94 | ★ 3.0 | 45 | BULK-42a38b53 |
| 24941 | Bulk Product 1427ab93 | Electronics | $425.96 | 105 | ★ 0.6 | 13 | BULK-a4c77ccb |
| 24942 | Bulk Product cc9c6c33 | Home & Garden | $275.02 | 218 | ★ 2.6 | 91 | BULK-28a12fc1 |
| 24943 | Bulk Product e2aba757 | Home & Garden | $158.63 | 51 | ★ 1.5 | 34 | BULK-d33c60d9 |
| 24944 | Bulk Product 058126a7 | Clothing | $584.33 | 8 | ★ 3.6 | 89 | BULK-b9a9a29a |
| 24945 | Bulk Product ccb6a70c | Home & Garden | $921.64 | 156 | ★ 1.3 | 95 | BULK-f728d1a8 |
| 24946 | Bulk Product db0cfec5 | Home & Garden | $298.90 | 331 | ★ 3.3 | 77 | BULK-ec03715b |
| 24947 | Bulk Product d5ef2f23 | Toys & Games | $485.09 | 2 | ★ 2.5 | 42 | BULK-36180295 |
| 24948 | Bulk Product 74cf99aa | Sports & Outdoors | $774.69 | 215 | ★ 0.5 | 41 | BULK-f062af71 |
| 24949 | Bulk Product 3c011398 | Electronics | $34.86 | 220 | ★ 1.2 | 97 | BULK-b58cce1f |
| 24950 | Bulk Product d518ab13 | Toys & Games | $491.45 | 306 | ★ 3.1 | 32 | BULK-d1a83724 |
| 24951 | Bulk Product 50c9d003 | Sports & Outdoors | $460.09 | 59 | ★ 1.4 | 14 | BULK-e2c7bef5 |
| 24952 | Bulk Product 4f3cdccb | Home & Garden | $347.68 | 82 | ★ 1.6 | 46 | BULK-30efad9c |
| 24953 | Bulk Product 933f0254 | Home & Garden | $69.79 | 322 | ★ 0.3 | 25 | BULK-8b51aeac |
| 24954 | Bulk Product eb2a8cec | Home & Garden | $382.35 | 99 | ★ 3.2 | 21 | BULK-11fbaabd |
| 24955 | Bulk Product 855d4072 | Books | $438.14 | 188 | ★ 4.5 | 41 | BULK-405c0741 |
| 24956 | Bulk Product 0fac2fce | Books | $807.89 | 239 | ★ 2.2 | 25 | BULK-3851398d |
| 24957 | Bulk Product d582616f | Toys & Games | $737.77 | 382 | ★ 2.5 | 22 | BULK-78305ddd |
| 24958 | Bulk Product 75671e12 | Books | $504.72 | 461 | ★ 1.7 | 37 | BULK-75903212 |
| 24959 | Bulk Product 6e8cfa1b | Clothing | $250.99 | 357 | ★ 2.5 | 24 | BULK-cac2bf9b |
// 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
};
}