Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 12060 | Bulk Product 384ed18b | Home & Garden | $519.32 | 477 | ★ 4.4 | 34 | BULK-d934fa92 |
| 12061 | Bulk Product 05f634bb | Clothing | $620.21 | 376 | ★ 1.3 | 25 | BULK-7a042fcd |
| 12062 | Bulk Product ef1d5d83 | Sports & Outdoors | $450.85 | 283 | ★ 4.8 | 11 | BULK-ae190b60 |
| 12063 | Bulk Product 7b7941ca | Sports & Outdoors | $331.40 | 423 | ★ 1.2 | 78 | BULK-d028e0ff |
| 12064 | Bulk Product f4adb481 | Books | $930.56 | 455 | ★ 3.0 | 90 | BULK-f21711a2 |
| 12065 | Bulk Product 6da652e5 | Electronics | $364.25 | 233 | ★ 3.6 | 15 | BULK-4cf1a616 |
| 12066 | Bulk Product 71d646dc | Books | $194.27 | 382 | ★ 0.8 | 57 | BULK-c24687c8 |
| 12067 | Bulk Product c6f9590d | Electronics | $589.98 | 33 | ★ 4.6 | 81 | BULK-e9d353d3 |
| 12068 | Bulk Product f4b14f29 | Books | $397.09 | 355 | ★ 1.7 | 7 | BULK-38c23fb9 |
| 12069 | Bulk Product d6ad5c71 | Electronics | $981.30 | 115 | ★ 3.7 | 12 | BULK-c45a4b18 |
| 12070 | Bulk Product 51a3bfe3 | Home & Garden | $93.01 | 432 | ★ 1.4 | 86 | BULK-f713984c |
| 12071 | Bulk Product 068da1c2 | Clothing | $728.94 | 45 | ★ 2.8 | 94 | BULK-71a3e6c6 |
| 12072 | Bulk Product 39ba7b69 | Toys & Games | $930.69 | 160 | ★ 2.8 | 69 | BULK-687ae153 |
| 12073 | Bulk Product 0e67d12a | Sports & Outdoors | $426.41 | 145 | ★ 2.6 | 99 | BULK-a6874b06 |
| 12074 | Bulk Product 9561e18e | Home & Garden | $606.95 | 317 | ★ 0.4 | 22 | BULK-85dda9ce |
| 12075 | Bulk Product 226ff8c5 | Toys & Games | $954.18 | 236 | ★ 4.7 | 76 | BULK-2a5b769e |
| 12076 | Bulk Product 1cd759ff | Toys & Games | $467.85 | 402 | ★ 4.1 | 91 | BULK-f59cc112 |
| 12077 | Bulk Product 476410ae | Books | $522.79 | 122 | ★ 4.8 | 83 | BULK-b52ebdc5 |
| 12078 | Bulk Product 6e242920 | Electronics | $390.23 | 419 | ★ 4.6 | 80 | BULK-15440cc5 |
| 12079 | Bulk Product f7525f7b | Electronics | $755.80 | 301 | ★ 3.7 | 99 | BULK-d93fd940 |
| 12080 | Bulk Product 94562141 | Home & Garden | $650.70 | 468 | ★ 3.7 | 82 | BULK-e5fbf881 |
| 12081 | Bulk Product 6ec93f70 | Home & Garden | $317.54 | 132 | ★ 0.1 | 61 | BULK-91f561f6 |
| 12082 | Bulk Product a33a84e5 | Books | $684.89 | 133 | ★ 2.1 | 1 | BULK-4a7e571e |
| 12083 | Bulk Product 0ff4f9ad | Sports & Outdoors | $478.58 | 86 | ★ 3.1 | 73 | BULK-ade3deb8 |
| 12084 | Bulk Product eb6c6ade | Sports & Outdoors | $965.75 | 12 | ★ 3.5 | 17 | BULK-e522e5d1 |
| 12085 | Bulk Product e867e239 | Books | $828.62 | 444 | ★ 4.3 | 17 | BULK-3818bde3 |
| 12086 | Bulk Product 8f452c41 | Home & Garden | $150.55 | 208 | ★ 4.5 | 48 | BULK-54a4add2 |
| 12087 | Bulk Product bfd402a1 | Sports & Outdoors | $915.07 | 171 | ★ 4.8 | 71 | BULK-c21b4262 |
| 12088 | Bulk Product 36dff6fb | Sports & Outdoors | $10.53 | 401 | ★ 3.9 | 21 | BULK-67144ad1 |
| 12089 | Bulk Product 9e76bda0 | Toys & Games | $139.00 | 212 | ★ 1.0 | 73 | BULK-bbb8f388 |
| 12090 | Bulk Product 707fd188 | Home & Garden | $590.82 | 472 | ★ 3.9 | 69 | BULK-adc05ba8 |
| 12091 | Bulk Product 53a104d5 | Books | $347.04 | 461 | ★ 2.7 | 20 | BULK-16ff44ff |
| 12092 | Bulk Product f538e44a | Clothing | $107.22 | 209 | ★ 3.5 | 52 | BULK-67cd7070 |
| 12093 | Bulk Product 8959d09a | Clothing | $633.29 | 174 | ★ 1.2 | 99 | BULK-dabc7476 |
| 12094 | Bulk Product b2536f80 | Electronics | $87.75 | 138 | ★ 3.9 | 61 | BULK-d905a4d8 |
| 12095 | Bulk Product 5b820e9b | Books | $902.26 | 76 | ★ 4.3 | 62 | BULK-1db2ce4c |
| 12096 | Bulk Product bbe4a959 | Toys & Games | $945.52 | 133 | ★ 1.3 | 83 | BULK-9c1aff49 |
| 12097 | Bulk Product 00281e54 | Sports & Outdoors | $938.81 | 471 | ★ 4.9 | 75 | BULK-285f1875 |
| 12098 | Bulk Product ad8bcfcd | Toys & Games | $18.67 | 350 | ★ 1.7 | 69 | BULK-c877481c |
| 12099 | Bulk Product 0d0bdf01 | Home & Garden | $914.80 | 210 | ★ 0.8 | 40 | BULK-d3b1626d |
| 12100 | Bulk Product 55e8f4d3 | Electronics | $829.24 | 335 | ★ 0.7 | 97 | BULK-79e2383b |
| 12101 | Bulk Product c3d138c1 | Toys & Games | $525.34 | 450 | ★ 4.4 | 91 | BULK-55061e52 |
| 12102 | Bulk Product ca1b866f | Books | $59.45 | 239 | ★ 3.0 | 10 | BULK-9dcb9b2e |
| 12103 | Bulk Product 12d06e60 | Clothing | $951.92 | 143 | ★ 1.5 | 24 | BULK-bf5b1b13 |
| 12104 | Bulk Product 8f148103 | Home & Garden | $480.06 | 75 | ★ 1.5 | 65 | BULK-dc11920b |
| 12105 | Bulk Product f83aceef | Home & Garden | $442.40 | 12 | ★ 4.3 | 99 | BULK-974c63f4 |
| 12106 | Bulk Product fab2cfa6 | Home & Garden | $783.74 | 163 | ★ 3.6 | 79 | BULK-b6647641 |
| 12107 | Bulk Product e881f354 | Electronics | $381.02 | 409 | ★ 0.1 | 9 | BULK-87e22281 |
| 12108 | Bulk Product 2d35ca3d | Sports & Outdoors | $652.91 | 130 | ★ 1.2 | 47 | BULK-ee12949b |
| 12109 | Bulk Product c37fc572 | Clothing | $133.81 | 269 | ★ 3.1 | 68 | BULK-5757545c |
// 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
};
}