Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 6310 | Bulk Product 5a932a52 | Books | $293.09 | 156 | ★ 1.1 | 68 | BULK-44727ac6 |
| 6311 | Bulk Product e8efc20b | Toys & Games | $722.87 | 169 | ★ 4.7 | 56 | BULK-6b806975 |
| 6312 | Bulk Product c0c15a46 | Books | $902.00 | 55 | ★ 2.6 | 39 | BULK-8c2aefba |
| 6313 | Bulk Product 041c6f81 | Home & Garden | $811.23 | 395 | ★ 0.8 | 76 | BULK-44c1195d |
| 6314 | Bulk Product 56eff477 | Clothing | $122.33 | 67 | ★ 2.0 | 36 | BULK-b2d9957b |
| 6315 | Bulk Product 4f072026 | Home & Garden | $979.37 | 442 | ★ 2.8 | 41 | BULK-d053d0a8 |
| 6316 | Bulk Product 21bef580 | Toys & Games | $699.34 | 427 | ★ 2.9 | 16 | BULK-a0f772d0 |
| 6317 | Bulk Product e9d01d09 | Sports & Outdoors | $949.40 | 481 | ★ 3.4 | 40 | BULK-c8ad7aab |
| 6318 | Bulk Product 8a0cd6f0 | Toys & Games | $517.86 | 324 | ★ 4.3 | 22 | BULK-948f8697 |
| 6319 | Bulk Product 757f738e | Electronics | $866.33 | 295 | ★ 1.4 | 66 | BULK-249c311d |
| 6320 | Bulk Product 90209e1b | Clothing | $741.33 | 320 | ★ 3.9 | 1 | BULK-92b8e1ef |
| 6321 | Bulk Product eb2306b1 | Home & Garden | $794.56 | 140 | ★ 4.6 | 93 | BULK-d0b669d8 |
| 6322 | Bulk Product 58d4a15a | Clothing | $811.93 | 56 | ★ 2.8 | 27 | BULK-616ecbb2 |
| 6323 | Bulk Product aa10c91d | Clothing | $134.53 | 476 | ★ 1.8 | 36 | BULK-1a83e3c7 |
| 6324 | Bulk Product 536c9c73 | Toys & Games | $410.59 | 241 | ★ 4.0 | 25 | BULK-382c53a3 |
| 6325 | Bulk Product 56457042 | Clothing | $879.04 | 62 | ★ 3.6 | 88 | BULK-7d965df2 |
| 6326 | Bulk Product 59e53a50 | Sports & Outdoors | $255.30 | 311 | ★ 2.8 | 76 | BULK-0ed44500 |
| 6327 | Bulk Product 797bd272 | Clothing | $217.79 | 188 | ★ 2.4 | 98 | BULK-629b7487 |
| 6328 | Bulk Product 46701da6 | Home & Garden | $298.48 | 99 | ★ 3.9 | 89 | BULK-c93d183e |
| 6329 | Bulk Product ce269d2b | Sports & Outdoors | $249.84 | 411 | ★ 4.0 | 14 | BULK-88789bf3 |
| 6330 | Bulk Product 35d61396 | Sports & Outdoors | $897.45 | 116 | ★ 1.8 | 47 | BULK-ae18cb89 |
| 6331 | Bulk Product 56aa2df1 | Sports & Outdoors | $791.84 | 498 | ★ 1.3 | 52 | BULK-e06f9b94 |
| 6332 | Bulk Product ff4795ee | Clothing | $929.17 | 330 | ★ 0.1 | 24 | BULK-1296fcde |
| 6333 | Bulk Product de4c4ab9 | Books | $813.53 | 96 | ★ 2.4 | 26 | BULK-c8248706 |
| 6334 | Bulk Product 39ae6169 | Books | $850.09 | 129 | ★ 1.7 | 19 | BULK-e3a853a3 |
| 6335 | Bulk Product 5d0cbf13 | Electronics | $46.88 | 489 | ★ 4.5 | 46 | BULK-b20cd65e |
| 6336 | Bulk Product eb881b29 | Electronics | $945.72 | 455 | ★ 0.2 | 74 | BULK-a9ad5809 |
| 6337 | Bulk Product 4618e6aa | Electronics | $464.41 | 461 | ★ 1.6 | 85 | BULK-3fb79565 |
| 6338 | Bulk Product a4d85be8 | Clothing | $262.63 | 242 | ★ 2.8 | 94 | BULK-fb42f42d |
| 6339 | Bulk Product 91979972 | Home & Garden | $856.23 | 367 | ★ 3.6 | 68 | BULK-600550b1 |
| 6340 | Bulk Product 0f63949c | Home & Garden | $941.05 | 282 | ★ 2.9 | 91 | BULK-3e896d56 |
| 6341 | Bulk Product e8c29131 | Clothing | $79.88 | 366 | ★ 1.9 | 91 | BULK-9d69c384 |
| 6342 | Bulk Product ae11d17b | Toys & Games | $904.87 | 114 | ★ 1.9 | 23 | BULK-08c4f378 |
| 6343 | Bulk Product 75675b48 | Toys & Games | $742.88 | 406 | ★ 1.3 | 49 | BULK-bae2862a |
| 6344 | Bulk Product a4cb4c8e | Electronics | $982.42 | 124 | ★ 4.5 | 84 | BULK-047cec65 |
| 6345 | Bulk Product c899e6d6 | Books | $110.74 | 99 | ★ 1.7 | 15 | BULK-739d7fcc |
| 6346 | Bulk Product bd328323 | Sports & Outdoors | $758.38 | 253 | ★ 3.5 | 54 | BULK-3b4c26fb |
| 6347 | Bulk Product 46569374 | Electronics | $834.34 | 300 | ★ 4.8 | 56 | BULK-41e12abd |
| 6348 | Bulk Product c59e6205 | Sports & Outdoors | $583.46 | 67 | ★ 4.2 | 51 | BULK-fed096c6 |
| 6349 | Bulk Product f0ec5b77 | Clothing | $76.14 | 72 | ★ 3.8 | 6 | BULK-efdf351c |
| 6350 | Bulk Product d968e33e | Home & Garden | $136.28 | 118 | ★ 2.1 | 96 | BULK-979df356 |
| 6351 | Bulk Product c28cf59c | Clothing | $547.95 | 17 | ★ 3.3 | 83 | BULK-14039d67 |
| 6352 | Bulk Product 3ffebda5 | Books | $812.18 | 478 | ★ 1.6 | 86 | BULK-f4ac9cda |
| 6353 | Bulk Product f03a05b1 | Clothing | $999.42 | 497 | ★ 4.1 | 74 | BULK-dbc53312 |
| 6354 | Bulk Product d8638640 | Electronics | $522.96 | 202 | ★ 0.9 | 99 | BULK-410d35fe |
| 6355 | Bulk Product 9b87f506 | Home & Garden | $201.36 | 236 | ★ 0.7 | 81 | BULK-314c1c5b |
| 6356 | Bulk Product dd23c9a9 | Sports & Outdoors | $293.49 | 133 | ★ 4.5 | 90 | BULK-59192603 |
| 6357 | Bulk Product e3db537c | Toys & Games | $618.22 | 490 | ★ 4.4 | 92 | BULK-bab25b32 |
| 6358 | Bulk Product a8196e78 | Electronics | $971.97 | 245 | ★ 3.4 | 61 | BULK-41e842a6 |
| 6359 | Bulk Product f24ceec3 | Toys & Games | $891.16 | 460 | ★ 0.9 | 81 | BULK-8067cb01 |
// 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
};
}