Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 12510 | Bulk Product 782c8d45 | Sports & Outdoors | $750.72 | 465 | ★ 1.5 | 49 | BULK-2b2cf286 |
| 12511 | Bulk Product d262a78e | Books | $651.40 | 315 | ★ 3.5 | 91 | BULK-72f3a8cd |
| 12512 | Bulk Product fc948ae6 | Toys & Games | $85.24 | 473 | ★ 1.9 | 69 | BULK-4bb18223 |
| 12513 | Bulk Product 3d724057 | Toys & Games | $337.33 | 110 | ★ 2.1 | 32 | BULK-542436c9 |
| 12514 | Bulk Product 93bfbade | Books | $773.28 | 484 | ★ 1.3 | 23 | BULK-3ea4e0f6 |
| 12515 | Bulk Product ae4d3c7f | Home & Garden | $49.71 | 270 | ★ 2.4 | 78 | BULK-dcdb82e7 |
| 12516 | Bulk Product 05596f2b | Toys & Games | $795.86 | 388 | ★ 0.3 | 26 | BULK-1c0fd0eb |
| 12517 | Bulk Product f09f9b21 | Toys & Games | $299.34 | 74 | ★ 4.5 | 94 | BULK-8a45e4ea |
| 12518 | Bulk Product 19f98773 | Books | $345.42 | 477 | ★ 2.8 | 45 | BULK-e6105750 |
| 12519 | Bulk Product f0991448 | Sports & Outdoors | $867.87 | 361 | ★ 1.4 | 1 | BULK-897cc9ea |
| 12520 | Bulk Product fddb07db | Electronics | $281.44 | 320 | ★ 3.7 | 98 | BULK-df9dcfa4 |
| 12521 | Bulk Product 5026d9d0 | Home & Garden | $84.79 | 81 | ★ 2.7 | 24 | BULK-faaa180b |
| 12522 | Bulk Product bf11e437 | Electronics | $10.76 | 197 | ★ 1.9 | 21 | BULK-532fed9e |
| 12523 | Bulk Product 1e340c84 | Clothing | $473.57 | 325 | ★ 2.0 | 8 | BULK-660cf341 |
| 12524 | Bulk Product 2bf1dd4e | Books | $435.95 | 407 | ★ 1.4 | 16 | BULK-0efc1b54 |
| 12525 | Bulk Product 37baae48 | Sports & Outdoors | $617.36 | 254 | ★ 3.6 | 10 | BULK-9422a48a |
| 12526 | Bulk Product ad8bd0dc | Electronics | $542.07 | 215 | ★ 0.9 | 39 | BULK-4b3d45fd |
| 12527 | Bulk Product 8a4c9d20 | Books | $598.15 | 479 | ★ 2.7 | 60 | BULK-15f96605 |
| 12528 | Bulk Product a0b6ddbb | Toys & Games | $413.38 | 204 | ★ 0.4 | 8 | BULK-b8c4ec4f |
| 12529 | Bulk Product 763a395a | Electronics | $927.89 | 343 | ★ 3.9 | 97 | BULK-e58eee6b |
| 12530 | Bulk Product 670034be | Books | $1,008.77 | 251 | ★ 4.0 | 91 | BULK-26b46b9b |
| 12531 | Bulk Product f6452ede | Toys & Games | $322.46 | 193 | ★ 0.9 | 23 | BULK-78b12b58 |
| 12532 | Bulk Product d6c24a68 | Books | $972.92 | 490 | ★ 3.6 | 86 | BULK-000f95c8 |
| 12533 | Bulk Product c3049751 | Toys & Games | $530.42 | 325 | ★ 4.3 | 2 | BULK-9c1935e2 |
| 12534 | Bulk Product 6b88c890 | Books | $897.81 | 396 | ★ 1.1 | 50 | BULK-14532cdb |
| 12535 | Bulk Product f12e174a | Electronics | $702.19 | 252 | ★ 2.7 | 32 | BULK-4328e7af |
| 12536 | Bulk Product e9c3ff63 | Home & Garden | $534.73 | 79 | ★ 3.8 | 45 | BULK-7970a48c |
| 12537 | Bulk Product 914dc214 | Home & Garden | $986.77 | 50 | ★ 0.7 | 33 | BULK-6cdd8286 |
| 12538 | Bulk Product 492a692d | Home & Garden | $106.00 | 42 | ★ 3.4 | 16 | BULK-908baa02 |
| 12539 | Bulk Product 600e3b82 | Sports & Outdoors | $268.66 | 155 | ★ 4.4 | 40 | BULK-d0affe88 |
| 12540 | Bulk Product 41e4968d | Books | $540.87 | 389 | ★ 0.1 | 5 | BULK-ccefee38 |
| 12541 | Bulk Product b80ab643 | Electronics | $594.03 | 144 | ★ 4.5 | 89 | BULK-2721a945 |
| 12542 | Bulk Product 6fd67d2e | Electronics | $932.16 | 148 | ★ 3.7 | 22 | BULK-fea4babd |
| 12543 | Bulk Product cbb911fa | Sports & Outdoors | $827.49 | 9 | ★ 2.6 | 58 | BULK-4ce97d4b |
| 12544 | Bulk Product 66c3ff26 | Electronics | $798.91 | 444 | ★ 3.3 | 46 | BULK-bedfc37b |
| 12545 | Bulk Product 9b221c59 | Home & Garden | $967.56 | 234 | ★ 1.6 | 54 | BULK-00cb5758 |
| 12546 | Bulk Product 393790db | Home & Garden | $549.35 | 343 | ★ 4.4 | 34 | BULK-ac00ec4c |
| 12547 | Bulk Product c2711664 | Home & Garden | $395.65 | 94 | ★ 0.4 | 77 | BULK-21407ac3 |
| 12548 | Bulk Product 709127de | Books | $868.94 | 352 | ★ 4.5 | 47 | BULK-919f8523 |
| 12549 | Bulk Product 135f71a8 | Toys & Games | $533.26 | 239 | ★ 1.5 | 73 | BULK-28bb69c9 |
| 12550 | Bulk Product 86f51a0d | Toys & Games | $463.71 | 19 | ★ 0.6 | 87 | BULK-05c6f707 |
| 12551 | Bulk Product de2201e3 | Electronics | $989.21 | 398 | ★ 3.6 | 64 | BULK-ebb50b81 |
| 12552 | Bulk Product a1f72a5d | Toys & Games | $512.95 | 160 | ★ 4.9 | 47 | BULK-28c19347 |
| 12553 | Bulk Product 3896e096 | Toys & Games | $16.99 | 490 | ★ 4.8 | 19 | BULK-8889b394 |
| 12554 | Bulk Product b571a5af | Toys & Games | $964.93 | 418 | ★ 0.9 | 2 | BULK-e7a13064 |
| 12555 | Bulk Product c9fd5bfb | Electronics | $541.35 | 318 | ★ 3.1 | 10 | BULK-6cc5ffb1 |
| 12556 | Bulk Product 912690ed | Clothing | $328.07 | 86 | ★ 1.4 | 70 | BULK-48686b90 |
| 12557 | Bulk Product 033daefb | Toys & Games | $736.93 | 493 | ★ 0.2 | 52 | BULK-7c03fc1c |
| 12558 | Bulk Product d145ee9c | Home & Garden | $676.26 | 319 | ★ 0.6 | 29 | BULK-d88c5b67 |
| 12559 | Bulk Product 7b96d301 | Books | $466.96 | 450 | ★ 0.4 | 14 | BULK-1a51fae9 |
// 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
};
}