Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 19460 | Bulk Product df494cbd | Home & Garden | $90.84 | 94 | ★ 0.8 | 86 | BULK-847a881b |
| 19461 | Bulk Product fbf6616d | Sports & Outdoors | $485.97 | 483 | ★ 1.7 | 16 | BULK-c15d7882 |
| 19462 | Bulk Product 5915b552 | Electronics | $969.57 | 182 | ★ 2.9 | 70 | BULK-ec603ca3 |
| 19463 | Bulk Product a49fa8fc | Electronics | $948.69 | 404 | ★ 3.1 | 65 | BULK-00050ce1 |
| 19464 | Bulk Product 4d6d3e81 | Clothing | $48.24 | 264 | ★ 3.0 | 20 | BULK-4d7563bc |
| 19465 | Bulk Product 17416ca5 | Books | $915.99 | 367 | ★ 2.9 | 47 | BULK-b23bcd25 |
| 19466 | Bulk Product 42d3b802 | Sports & Outdoors | $683.86 | 331 | ★ 2.2 | 6 | BULK-b1c0a9c9 |
| 19467 | Bulk Product 080693a1 | Sports & Outdoors | $466.25 | 412 | ★ 3.2 | 72 | BULK-cdf5186f |
| 19468 | Bulk Product fb1745da | Toys & Games | $884.29 | 480 | ★ 0.5 | 51 | BULK-a0a0544e |
| 19469 | Bulk Product 76d9eea6 | Electronics | $376.86 | 176 | ★ 3.0 | 9 | BULK-a9dfc182 |
| 19470 | Bulk Product 7494c299 | Sports & Outdoors | $918.66 | 451 | ★ 2.3 | 77 | BULK-a27f5b48 |
| 19471 | Bulk Product 705fe857 | Toys & Games | $189.53 | 278 | ★ 3.9 | 13 | BULK-16f66ce5 |
| 19472 | Bulk Product 102ff892 | Books | $561.41 | 143 | ★ 2.1 | 56 | BULK-c009147b |
| 19473 | Bulk Product 63a986c9 | Toys & Games | $440.03 | 150 | ★ 2.1 | 42 | BULK-b67c3121 |
| 19474 | Bulk Product 8d81ce0d | Electronics | $393.92 | 99 | ★ 2.3 | 30 | BULK-42222e10 |
| 19475 | Bulk Product 801448de | Sports & Outdoors | $699.39 | 106 | ★ 3.5 | 76 | BULK-dda85d22 |
| 19476 | Bulk Product 84b45665 | Books | $40.53 | 491 | ★ 1.4 | 64 | BULK-0e115454 |
| 19477 | Bulk Product b96d1190 | Sports & Outdoors | $46.09 | 172 | ★ 0.1 | 1 | BULK-4ddff0d6 |
| 19478 | Bulk Product 1e07cf4b | Clothing | $772.78 | 341 | ★ 2.6 | 94 | BULK-c423d3af |
| 19479 | Bulk Product 595bbc0d | Electronics | $301.11 | 273 | ★ 2.1 | 31 | BULK-60270c47 |
| 19480 | Bulk Product e2fde15b | Electronics | $813.43 | 479 | ★ 1.5 | 72 | BULK-ad34d6df |
| 19481 | Bulk Product 28ac83f1 | Clothing | $15.18 | 1 | ★ 4.6 | 9 | BULK-108cd988 |
| 19482 | Bulk Product a4ffd9d7 | Home & Garden | $565.65 | 44 | ★ 2.0 | 2 | BULK-ce0294c3 |
| 19483 | Bulk Product 19e1122d | Home & Garden | $663.18 | 80 | ★ 3.2 | 7 | BULK-9aa4e813 |
| 19484 | Bulk Product 5a88aca9 | Toys & Games | $494.93 | 35 | ★ 0.9 | 64 | BULK-73c599da |
| 19485 | Bulk Product 557ebf9f | Electronics | $573.84 | 256 | ★ 0.5 | 79 | BULK-2ac572ca |
| 19486 | Bulk Product ab1c40ef | Clothing | $280.39 | 254 | ★ 3.3 | 5 | BULK-57e27ad7 |
| 19487 | Bulk Product 0868815a | Electronics | $914.38 | 112 | ★ 2.2 | 85 | BULK-35622601 |
| 19488 | Bulk Product 3cce2d87 | Home & Garden | $737.04 | 444 | ★ 1.5 | 32 | BULK-c0c1ac2e |
| 19489 | Bulk Product 8e852dfc | Home & Garden | $611.59 | 53 | ★ 0.6 | 9 | BULK-41230359 |
| 19490 | Bulk Product a29f1fd7 | Books | $207.34 | 112 | ★ 3.2 | 78 | BULK-536dad7c |
| 19491 | Bulk Product 4124a245 | Clothing | $609.58 | 410 | ★ 2.9 | 47 | BULK-316eb959 |
| 19492 | Bulk Product a339d80f | Toys & Games | $958.29 | 263 | ★ 3.3 | 89 | BULK-cf15d600 |
| 19493 | Bulk Product 69380f01 | Clothing | $636.30 | 216 | ★ 0.8 | 6 | BULK-c4200d2a |
| 19494 | Bulk Product 0085aaff | Toys & Games | $893.24 | 348 | ★ 1.2 | 16 | BULK-f1e83fb9 |
| 19495 | Bulk Product 2089d2a7 | Toys & Games | $991.07 | 137 | ★ 1.2 | 61 | BULK-98697f60 |
| 19496 | Bulk Product 1eaddc77 | Books | $700.21 | 308 | ★ 4.5 | 25 | BULK-44088d1a |
| 19497 | Bulk Product 8d5d6fc9 | Toys & Games | $933.73 | 331 | ★ 3.4 | 53 | BULK-d79ef208 |
| 19498 | Bulk Product f2c53af3 | Books | $58.01 | 285 | ★ 1.3 | 1 | BULK-f1ee14d9 |
| 19499 | Bulk Product af481df4 | Sports & Outdoors | $859.19 | 215 | ★ 3.1 | 98 | BULK-afbe61b0 |
| 19500 | Bulk Product 29826d8d | Books | $155.80 | 274 | ★ 0.9 | 93 | BULK-394e444b |
| 19501 | Bulk Product 88458a71 | Books | $268.54 | 436 | ★ 3.6 | 52 | BULK-4a11e781 |
| 19502 | Bulk Product b3af5a57 | Clothing | $143.26 | 449 | ★ 2.4 | 92 | BULK-f9e1a82f |
| 19503 | Bulk Product 545f61dc | Toys & Games | $804.30 | 437 | ★ 0.3 | 0 | BULK-b3b8c5e9 |
| 19504 | Bulk Product 9bcf160f | Home & Garden | $549.98 | 334 | ★ 2.1 | 51 | BULK-ab344637 |
| 19505 | Bulk Product e515311a | Toys & Games | $469.12 | 319 | ★ 1.9 | 89 | BULK-35597c6a |
| 19506 | Bulk Product 66d9afbe | Sports & Outdoors | $56.30 | 41 | ★ 2.9 | 39 | BULK-5830b1d1 |
| 19507 | Bulk Product 82de6f24 | Clothing | $904.50 | 455 | ★ 1.2 | 72 | BULK-19647c5a |
| 19508 | Bulk Product 8ca39b43 | Clothing | $561.70 | 326 | ★ 4.8 | 82 | BULK-52c34185 |
| 19509 | Bulk Product 00adb751 | Sports & Outdoors | $67.56 | 251 | ★ 0.1 | 52 | BULK-daaad03b |
// 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
};
}