Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 24460 | Bulk Product c3dbbb1f | Sports & Outdoors | $943.20 | 197 | ★ 1.0 | 14 | BULK-268a958a |
| 24461 | Bulk Product 2d0ef1bf | Electronics | $206.01 | 212 | ★ 3.8 | 27 | BULK-34e0d90e |
| 24462 | Bulk Product 56ab238c | Books | $992.84 | 303 | ★ 2.1 | 99 | BULK-cff49178 |
| 24463 | Bulk Product 1c4060e6 | Home & Garden | $992.20 | 322 | ★ 1.6 | 99 | BULK-ad95dd06 |
| 24464 | Bulk Product 8632f365 | Books | $758.93 | 170 | ★ 0.3 | 88 | BULK-9a014881 |
| 24465 | Bulk Product fe7744b8 | Clothing | $52.93 | 268 | ★ 1.7 | 71 | BULK-230a30e4 |
| 24466 | Bulk Product 76942f7c | Toys & Games | $852.61 | 448 | ★ 1.5 | 46 | BULK-2af2ef9b |
| 24467 | Bulk Product ef8407a4 | Electronics | $17.42 | 112 | ★ 3.7 | 96 | BULK-f3a9d0ca |
| 24468 | Bulk Product 18434811 | Toys & Games | $454.57 | 328 | ★ 0.5 | 55 | BULK-344af26f |
| 24469 | Bulk Product 50100b3e | Home & Garden | $231.61 | 150 | ★ 2.1 | 69 | BULK-23cdd534 |
| 24470 | Bulk Product 772c3cda | Clothing | $675.48 | 12 | ★ 4.5 | 96 | BULK-c1414186 |
| 24471 | Bulk Product 98df3260 | Toys & Games | $84.71 | 94 | ★ 4.6 | 60 | BULK-d0af81b5 |
| 24472 | Bulk Product bd63e579 | Electronics | $816.82 | 428 | ★ 4.5 | 97 | BULK-6072c16a |
| 24473 | Bulk Product d162feef | Toys & Games | $795.13 | 302 | ★ 1.8 | 12 | BULK-b578dfc4 |
| 24474 | Bulk Product c911b8b4 | Sports & Outdoors | $780.88 | 83 | ★ 2.5 | 6 | BULK-69f5d7c0 |
| 24475 | Bulk Product 5691f62d | Electronics | $425.00 | 295 | ★ 4.5 | 19 | BULK-8dd8b629 |
| 24476 | Bulk Product 892c6cad | Sports & Outdoors | $184.65 | 111 | ★ 1.8 | 15 | BULK-0646b5f5 |
| 24477 | Bulk Product 085e9ed2 | Sports & Outdoors | $307.41 | 85 | ★ 4.0 | 42 | BULK-51057da5 |
| 24478 | Bulk Product 76dd25cd | Clothing | $951.28 | 103 | ★ 2.0 | 67 | BULK-89217ef0 |
| 24479 | Bulk Product bd46ca9a | Home & Garden | $154.69 | 227 | ★ 2.7 | 19 | BULK-11ed595a |
| 24480 | Bulk Product ea4f1a16 | Sports & Outdoors | $771.78 | 387 | ★ 0.4 | 34 | BULK-ee27eaae |
| 24481 | Bulk Product faf7622a | Books | $833.58 | 330 | ★ 3.0 | 81 | BULK-3edf15b7 |
| 24482 | Bulk Product 3b265f65 | Books | $358.81 | 122 | ★ 0.7 | 13 | BULK-8f2f98c2 |
| 24483 | Bulk Product ea502e4f | Home & Garden | $472.64 | 425 | ★ 0.3 | 97 | BULK-5b48c030 |
| 24484 | Bulk Product 80a41118 | Electronics | $670.12 | 305 | ★ 3.0 | 38 | BULK-5711fa44 |
| 24485 | Bulk Product da417455 | Home & Garden | $182.98 | 131 | ★ 1.7 | 83 | BULK-f1a7320c |
| 24486 | Bulk Product b2067948 | Toys & Games | $606.41 | 260 | ★ 4.4 | 83 | BULK-3c26a2dc |
| 24487 | Bulk Product e61b9637 | Books | $31.64 | 191 | ★ 2.2 | 80 | BULK-407e0bb9 |
| 24488 | Bulk Product 581f869d | Home & Garden | $445.31 | 449 | ★ 1.0 | 1 | BULK-75a0200c |
| 24489 | Bulk Product 2d08694d | Clothing | $68.15 | 338 | ★ 2.6 | 43 | BULK-ead5b48e |
| 24490 | Bulk Product 1603bb86 | Clothing | $342.95 | 98 | ★ 1.8 | 39 | BULK-c2314b27 |
| 24491 | Bulk Product b5a3a787 | Clothing | $904.02 | 362 | ★ 2.5 | 83 | BULK-dc5dc87d |
| 24492 | Bulk Product 49fda88d | Toys & Games | $61.82 | 275 | ★ 3.1 | 58 | BULK-8971e480 |
| 24493 | Bulk Product c7e1aaa5 | Toys & Games | $517.57 | 433 | ★ 3.8 | 72 | BULK-733eb796 |
| 24494 | Bulk Product 982175f0 | Home & Garden | $798.52 | 172 | ★ 0.4 | 71 | BULK-68858d40 |
| 24495 | Bulk Product 6bd50942 | Toys & Games | $222.61 | 125 | ★ 4.6 | 45 | BULK-f83a490b |
| 24496 | Bulk Product 8deece81 | Home & Garden | $218.65 | 181 | ★ 4.8 | 72 | BULK-4a711442 |
| 24497 | Bulk Product 915e3d0e | Sports & Outdoors | $964.93 | 126 | ★ 3.6 | 98 | BULK-a4b49776 |
| 24498 | Bulk Product 23f4e42b | Toys & Games | $746.28 | 454 | ★ 3.3 | 11 | BULK-b12642f7 |
| 24499 | Bulk Product a5b0a9d7 | Clothing | $637.50 | 240 | ★ 5.0 | 70 | BULK-f7ca8c70 |
| 24500 | Bulk Product 3b6ced14 | Books | $214.03 | 318 | ★ 0.4 | 70 | BULK-9bb49de4 |
| 24501 | Bulk Product 2c9c8601 | Home & Garden | $305.53 | 234 | ★ 1.0 | 53 | BULK-7593fa36 |
| 24502 | Bulk Product 68cee2d6 | Books | $998.60 | 386 | ★ 2.1 | 49 | BULK-ad5e40d0 |
| 24503 | Bulk Product 38aa2df1 | Electronics | $888.75 | 103 | ★ 2.9 | 55 | BULK-7c7d7dee |
| 24504 | Bulk Product 5b6744b2 | Home & Garden | $793.16 | 204 | ★ 4.3 | 18 | BULK-35be1866 |
| 24505 | Bulk Product d8df7574 | Toys & Games | $207.90 | 475 | ★ 1.1 | 1 | BULK-4d560a29 |
| 24506 | Bulk Product d306cbcc | Sports & Outdoors | $638.58 | 446 | ★ 3.2 | 77 | BULK-530a93f2 |
| 24507 | Bulk Product 5baa7cee | Home & Garden | $84.62 | 245 | ★ 1.3 | 17 | BULK-fef1bba3 |
| 24508 | Bulk Product acf7213f | Sports & Outdoors | $173.49 | 401 | ★ 0.6 | 85 | BULK-42924661 |
| 24509 | Bulk Product 1bd6ac8b | Toys & Games | $677.03 | 346 | ★ 3.5 | 78 | BULK-40ca3ae2 |
// 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
};
}