Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 13010 | Bulk Product 4b983315 | Toys & Games | $459.67 | 104 | ★ 1.3 | 21 | BULK-95d91878 |
| 13011 | Bulk Product ada58740 | Sports & Outdoors | $844.06 | 87 | ★ 4.2 | 20 | BULK-c639055e |
| 13012 | Bulk Product ccdee71e | Books | $133.75 | 190 | ★ 1.9 | 90 | BULK-b511e501 |
| 13013 | Bulk Product a3607e3c | Home & Garden | $25.41 | 183 | ★ 0.1 | 82 | BULK-95d782a1 |
| 13014 | Bulk Product 0d46a9f8 | Books | $409.00 | 271 | ★ 2.4 | 28 | BULK-1e8e2cbc |
| 13015 | Bulk Product c598f317 | Home & Garden | $247.39 | 126 | ★ 0.1 | 82 | BULK-05d9ea8b |
| 13016 | Bulk Product 2c3dcd79 | Books | $540.53 | 112 | ★ 4.4 | 47 | BULK-b5c92c0e |
| 13017 | Bulk Product 0a7f8f32 | Electronics | $622.06 | 95 | ★ 2.8 | 98 | BULK-1343919a |
| 13018 | Bulk Product 41226d6e | Electronics | $165.84 | 203 | ★ 4.1 | 33 | BULK-04f33bae |
| 13019 | Bulk Product 2f0be871 | Home & Garden | $919.27 | 36 | ★ 3.1 | 25 | BULK-fc5d5dad |
| 13020 | Bulk Product 6206dd8a | Toys & Games | $380.03 | 351 | ★ 1.0 | 72 | BULK-2d92ed09 |
| 13021 | Bulk Product 5faca416 | Electronics | $753.22 | 393 | ★ 4.4 | 66 | BULK-2f29dfba |
| 13022 | Bulk Product d5e5c7fa | Sports & Outdoors | $383.92 | 456 | ★ 4.5 | 65 | BULK-d5c9fa07 |
| 13023 | Bulk Product 57b903ba | Electronics | $211.40 | 202 | ★ 2.8 | 15 | BULK-bc2c31ca |
| 13024 | Bulk Product 5fac1852 | Electronics | $916.96 | 323 | ★ 0.6 | 63 | BULK-a01b9431 |
| 13025 | Bulk Product dd0cf7be | Clothing | $704.46 | 172 | ★ 3.4 | 61 | BULK-51eb201b |
| 13026 | Bulk Product 8f3347e9 | Electronics | $236.76 | 72 | ★ 4.9 | 72 | BULK-75b1d184 |
| 13027 | Bulk Product f8dd8d9e | Toys & Games | $638.53 | 430 | ★ 3.6 | 60 | BULK-f128a299 |
| 13028 | Bulk Product 8b3fcae6 | Sports & Outdoors | $426.14 | 324 | ★ 0.7 | 36 | BULK-7a659b2d |
| 13029 | Bulk Product f27fced7 | Clothing | $524.73 | 475 | ★ 1.6 | 3 | BULK-9941432a |
| 13030 | Bulk Product afd532b9 | Home & Garden | $719.48 | 366 | ★ 4.4 | 93 | BULK-b276c269 |
| 13031 | Bulk Product c8232db3 | Books | $405.89 | 358 | ★ 1.5 | 94 | BULK-f8dff380 |
| 13032 | Bulk Product ec6ec617 | Electronics | $709.99 | 259 | ★ 2.3 | 32 | BULK-19e732f0 |
| 13033 | Bulk Product 66ff9a26 | Electronics | $1,009.41 | 24 | ★ 4.3 | 88 | BULK-df8edf42 |
| 13034 | Bulk Product a195b0be | Clothing | $638.99 | 348 | ★ 1.7 | 92 | BULK-640a70b8 |
| 13035 | Bulk Product 26c30a77 | Electronics | $662.92 | 337 | ★ 2.0 | 75 | BULK-918b74b7 |
| 13036 | Bulk Product a05db99a | Electronics | $118.23 | 45 | ★ 1.3 | 52 | BULK-9b17ce99 |
| 13037 | Bulk Product 8670b0fc | Sports & Outdoors | $921.76 | 465 | ★ 2.9 | 68 | BULK-71ed55b3 |
| 13038 | Bulk Product b09d0684 | Clothing | $360.11 | 25 | ★ 3.7 | 32 | BULK-a244ceec |
| 13039 | Bulk Product ea9ef755 | Sports & Outdoors | $443.28 | 277 | ★ 3.6 | 34 | BULK-4b47a4aa |
| 13040 | Bulk Product 7cc2f56f | Books | $107.75 | 13 | ★ 1.6 | 84 | BULK-b7104e28 |
| 13041 | Bulk Product 6dd2bff5 | Toys & Games | $161.95 | 160 | ★ 0.2 | 72 | BULK-b21e5d38 |
| 13042 | Bulk Product ef2d8dd8 | Sports & Outdoors | $706.57 | 347 | ★ 2.8 | 15 | BULK-68142014 |
| 13043 | Bulk Product 60353678 | Home & Garden | $456.98 | 185 | ★ 3.7 | 39 | BULK-6d59f775 |
| 13044 | Bulk Product 10fc1b28 | Toys & Games | $37.40 | 232 | ★ 2.7 | 9 | BULK-805f6807 |
| 13045 | Bulk Product 47dfe2ff | Home & Garden | $187.83 | 397 | ★ 4.6 | 24 | BULK-2b9a944c |
| 13046 | Bulk Product 6824d02f | Clothing | $247.13 | 18 | ★ 1.5 | 51 | BULK-0136d5b2 |
| 13047 | Bulk Product 88386319 | Clothing | $198.53 | 309 | ★ 0.3 | 35 | BULK-a91cd4ce |
| 13048 | Bulk Product f1de9320 | Home & Garden | $33.00 | 308 | ★ 3.6 | 16 | BULK-9b246d58 |
| 13049 | Bulk Product 3aa8a1b2 | Electronics | $610.31 | 273 | ★ 3.4 | 81 | BULK-f964708f |
| 13050 | Bulk Product 64f99e7f | Books | $516.52 | 450 | ★ 4.0 | 33 | BULK-c8eeecc5 |
| 13051 | Bulk Product db7f2ee5 | Books | $671.37 | 303 | ★ 3.1 | 18 | BULK-76a64662 |
| 13052 | Bulk Product f671a871 | Sports & Outdoors | $171.74 | 359 | ★ 2.7 | 50 | BULK-1ae750af |
| 13053 | Bulk Product 63e1e057 | Home & Garden | $338.97 | 338 | ★ 2.0 | 15 | BULK-7f9df34e |
| 13054 | Bulk Product 4856e2f0 | Books | $626.21 | 335 | ★ 2.6 | 97 | BULK-ef481a0e |
| 13055 | Bulk Product f145eccd | Electronics | $168.05 | 388 | ★ 3.0 | 75 | BULK-1af0b6a8 |
| 13056 | Bulk Product 6625cf3d | Toys & Games | $696.43 | 457 | ★ 1.8 | 25 | BULK-cf774eba |
| 13057 | Bulk Product 21ece5be | Electronics | $866.87 | 230 | ★ 3.7 | 23 | BULK-4e26994e |
| 13058 | Bulk Product 51559cd1 | Clothing | $341.47 | 404 | ★ 2.4 | 68 | BULK-76b4862a |
| 13059 | Bulk Product c854c15e | Sports & Outdoors | $560.70 | 380 | ★ 0.9 | 61 | BULK-5da0fdc9 |
// 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
};
}