Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 6610 | Bulk Product b19dd374 | Electronics | $354.37 | 376 | ★ 0.6 | 35 | BULK-7b96abdb |
| 6611 | Bulk Product d310b4b9 | Home & Garden | $794.76 | 396 | ★ 4.4 | 41 | BULK-077e63a9 |
| 6612 | Bulk Product e8ad293e | Clothing | $125.09 | 90 | ★ 3.1 | 32 | BULK-53ce04ee |
| 6613 | Bulk Product 9edb15c7 | Books | $582.76 | 124 | ★ 2.6 | 34 | BULK-f38cb7f5 |
| 6614 | Bulk Product fb419ca9 | Sports & Outdoors | $671.28 | 277 | ★ 1.5 | 68 | BULK-a3eefa5b |
| 6615 | Bulk Product 8d9500b4 | Home & Garden | $734.44 | 437 | ★ 2.0 | 19 | BULK-26e38225 |
| 6616 | Bulk Product e6f3b6e2 | Sports & Outdoors | $386.01 | 261 | ★ 2.3 | 29 | BULK-5aa58810 |
| 6617 | Bulk Product 4fc1aab3 | Clothing | $45.65 | 300 | ★ 3.4 | 94 | BULK-7a495332 |
| 6618 | Bulk Product 090b3e5c | Clothing | $255.74 | 467 | ★ 4.9 | 74 | BULK-bc40b47b |
| 6619 | Bulk Product 81f9b5d5 | Toys & Games | $88.43 | 119 | ★ 1.3 | 61 | BULK-e935a4b6 |
| 6620 | Bulk Product 8b7c1860 | Toys & Games | $356.65 | 76 | ★ 4.9 | 14 | BULK-a06495c4 |
| 6621 | Bulk Product 852777c6 | Toys & Games | $705.27 | 104 | ★ 1.3 | 50 | BULK-af431c93 |
| 6622 | Bulk Product 2a564f34 | Sports & Outdoors | $720.86 | 127 | ★ 2.5 | 71 | BULK-531fda06 |
| 6623 | Bulk Product 5c546990 | Toys & Games | $10.23 | 197 | ★ 4.7 | 53 | BULK-e821f0c5 |
| 6624 | Bulk Product acb4caa6 | Books | $908.67 | 497 | ★ 2.4 | 59 | BULK-d09bed53 |
| 6625 | Bulk Product cfa70b9e | Sports & Outdoors | $214.36 | 50 | ★ 4.7 | 54 | BULK-1d9d4684 |
| 6626 | Bulk Product 106288ee | Books | $528.40 | 240 | ★ 1.8 | 7 | BULK-4adbf6ea |
| 6627 | Bulk Product 5d113dd3 | Home & Garden | $759.60 | 423 | ★ 4.9 | 97 | BULK-5357f334 |
| 6628 | Bulk Product 8713dc75 | Electronics | $501.97 | 5 | ★ 3.3 | 98 | BULK-af5072fb |
| 6629 | Bulk Product d729fb74 | Home & Garden | $958.50 | 290 | ★ 2.7 | 89 | BULK-f0b9bd6c |
| 6630 | Bulk Product c2ae1511 | Clothing | $608.76 | 193 | ★ 1.1 | 32 | BULK-6b8852cf |
| 6631 | Bulk Product 2328fd33 | Home & Garden | $822.86 | 17 | ★ 5.0 | 54 | BULK-c7c571c2 |
| 6632 | Bulk Product 5e8b9a43 | Sports & Outdoors | $836.62 | 78 | ★ 1.2 | 61 | BULK-065568fe |
| 6633 | Bulk Product 1c10221e | Toys & Games | $820.19 | 224 | ★ 1.7 | 1 | BULK-75d97421 |
| 6634 | Bulk Product 0635339a | Home & Garden | $860.56 | 128 | ★ 4.0 | 58 | BULK-dbea8200 |
| 6635 | Bulk Product 9b1e5756 | Electronics | $445.19 | 189 | ★ 1.2 | 34 | BULK-9438575c |
| 6636 | Bulk Product 8f53a28d | Clothing | $599.32 | 210 | ★ 2.9 | 94 | BULK-ae8156ef |
| 6637 | Bulk Product 2937c3eb | Toys & Games | $927.35 | 355 | ★ 3.5 | 71 | BULK-782154b5 |
| 6638 | Bulk Product ffc3bb18 | Clothing | $61.56 | 414 | ★ 1.6 | 44 | BULK-ba9d512c |
| 6639 | Bulk Product ddd265a2 | Electronics | $763.09 | 449 | ★ 0.5 | 60 | BULK-45fc07a0 |
| 6640 | Bulk Product 545c0441 | Books | $172.54 | 192 | ★ 3.6 | 14 | BULK-b729895c |
| 6641 | Bulk Product b948c4e8 | Books | $566.61 | 93 | ★ 2.1 | 89 | BULK-3165a302 |
| 6642 | Bulk Product fdf01219 | Electronics | $229.75 | 35 | ★ 3.7 | 54 | BULK-60841828 |
| 6643 | Bulk Product dc2481ff | Electronics | $396.32 | 208 | ★ 4.6 | 67 | BULK-71e0bc0e |
| 6644 | Bulk Product dca8a2a4 | Sports & Outdoors | $703.15 | 163 | ★ 4.6 | 50 | BULK-c83014ad |
| 6645 | Bulk Product 4b5d1de5 | Home & Garden | $499.62 | 151 | ★ 1.6 | 76 | BULK-f3a2c5be |
| 6646 | Bulk Product eef0dba6 | Home & Garden | $184.20 | 430 | ★ 3.6 | 26 | BULK-3476a791 |
| 6647 | Bulk Product a746afed | Sports & Outdoors | $249.07 | 14 | ★ 1.4 | 90 | BULK-92398321 |
| 6648 | Bulk Product bfa920a9 | Books | $983.46 | 431 | ★ 1.7 | 25 | BULK-0396f005 |
| 6649 | Bulk Product 4645d577 | Books | $273.51 | 247 | ★ 0.0 | 76 | BULK-ab5429d1 |
| 6650 | Bulk Product 4cf58908 | Electronics | $884.89 | 51 | ★ 0.4 | 19 | BULK-fbbdafb8 |
| 6651 | Bulk Product 8717189a | Electronics | $51.65 | 108 | ★ 0.5 | 40 | BULK-aab5dd20 |
| 6652 | Bulk Product 469ab286 | Sports & Outdoors | $364.05 | 398 | ★ 2.7 | 56 | BULK-70f0d5d2 |
| 6653 | Bulk Product 9597d22a | Toys & Games | $985.99 | 110 | ★ 1.7 | 43 | BULK-b9cee044 |
| 6654 | Bulk Product 98477a4c | Toys & Games | $765.23 | 401 | ★ 1.3 | 81 | BULK-9982e035 |
| 6655 | Bulk Product 82257925 | Toys & Games | $444.17 | 105 | ★ 3.2 | 42 | BULK-7a62dd6b |
| 6656 | Bulk Product 10cbd06f | Electronics | $223.76 | 249 | ★ 1.7 | 6 | BULK-521eadc4 |
| 6657 | Bulk Product 360f2a37 | Sports & Outdoors | $444.05 | 211 | ★ 0.0 | 38 | BULK-6832f4dd |
| 6658 | Bulk Product cbaca959 | Home & Garden | $591.95 | 474 | ★ 1.6 | 48 | BULK-80f2966c |
| 6659 | Bulk Product 8345577a | Toys & Games | $276.37 | 460 | ★ 4.7 | 66 | BULK-f074d531 |
// 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
};
}