Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 5710 | Bulk Product 503d0735 | Home & Garden | $81.95 | 294 | ★ 3.0 | 63 | BULK-84893852 |
| 5711 | Bulk Product dd53ad3d | Books | $563.67 | 280 | ★ 4.0 | 39 | BULK-825fd17c |
| 5712 | Bulk Product 21f59f79 | Clothing | $658.95 | 492 | ★ 4.1 | 5 | BULK-c8458760 |
| 5713 | Bulk Product bf7af0d7 | Home & Garden | $213.80 | 192 | ★ 2.6 | 56 | BULK-04b6f58f |
| 5714 | Bulk Product 42dbb086 | Clothing | $352.73 | 224 | ★ 4.1 | 72 | BULK-c6a8aaf5 |
| 5715 | Bulk Product cdc64225 | Electronics | $155.58 | 18 | ★ 0.4 | 37 | BULK-6ecc2391 |
| 5716 | Bulk Product 8df3d873 | Books | $970.74 | 331 | ★ 2.0 | 16 | BULK-c1fd6e88 |
| 5717 | Bulk Product 58306a50 | Clothing | $574.30 | 406 | ★ 3.9 | 1 | BULK-2b747c88 |
| 5718 | Bulk Product 0f042d8d | Sports & Outdoors | $855.38 | 412 | ★ 3.4 | 28 | BULK-f89ee503 |
| 5719 | Bulk Product 69aed59a | Sports & Outdoors | $41.12 | 27 | ★ 3.3 | 11 | BULK-9bfb274b |
| 5720 | Bulk Product ab72581f | Sports & Outdoors | $753.98 | 344 | ★ 2.2 | 55 | BULK-974efcc3 |
| 5721 | Bulk Product fb2b306a | Home & Garden | $831.93 | 37 | ★ 2.5 | 82 | BULK-d19bf665 |
| 5722 | Bulk Product 358de939 | Electronics | $272.46 | 21 | ★ 2.1 | 24 | BULK-c8cfedb2 |
| 5723 | Bulk Product a7597c42 | Home & Garden | $316.53 | 259 | ★ 1.9 | 87 | BULK-1e1e3d1c |
| 5724 | Bulk Product 090fab62 | Clothing | $591.28 | 41 | ★ 2.7 | 52 | BULK-07f21c5c |
| 5725 | Bulk Product c3615310 | Toys & Games | $956.03 | 241 | ★ 1.0 | 96 | BULK-5140d4e7 |
| 5726 | Bulk Product 848ad5c4 | Sports & Outdoors | $311.51 | 275 | ★ 0.7 | 19 | BULK-282f45d3 |
| 5727 | Bulk Product 2e8284d4 | Sports & Outdoors | $136.71 | 82 | ★ 2.5 | 71 | BULK-71711e1c |
| 5728 | Bulk Product b9e35f85 | Home & Garden | $393.07 | 128 | ★ 0.3 | 94 | BULK-9e037769 |
| 5729 | Bulk Product d570c018 | Sports & Outdoors | $35.79 | 120 | ★ 2.6 | 54 | BULK-2041ddc5 |
| 5730 | Bulk Product 17026410 | Home & Garden | $253.00 | 163 | ★ 3.4 | 81 | BULK-c5ab6b94 |
| 5731 | Bulk Product 654b8d1f | Electronics | $675.08 | 212 | ★ 3.1 | 70 | BULK-32e186ce |
| 5732 | Bulk Product 1f334037 | Books | $826.50 | 267 | ★ 3.3 | 82 | BULK-45030f90 |
| 5733 | Bulk Product 88face5e | Home & Garden | $714.82 | 194 | ★ 4.2 | 1 | BULK-6b5d6b3b |
| 5734 | Bulk Product 80d8543f | Toys & Games | $976.99 | 11 | ★ 1.6 | 18 | BULK-ae584f34 |
| 5735 | Bulk Product 3f6b5dd4 | Electronics | $427.70 | 89 | ★ 1.5 | 34 | BULK-c20a286e |
| 5736 | Bulk Product b90a314c | Electronics | $247.78 | 78 | ★ 4.6 | 50 | BULK-fe53f81a |
| 5737 | Bulk Product c9db7005 | Sports & Outdoors | $862.94 | 304 | ★ 4.0 | 63 | BULK-d0c1ae26 |
| 5738 | Bulk Product e9919b9d | Home & Garden | $291.84 | 402 | ★ 0.5 | 29 | BULK-d1d1abb8 |
| 5739 | Bulk Product 76c71dc7 | Toys & Games | $676.54 | 70 | ★ 2.4 | 66 | BULK-7bc9d3e6 |
| 5740 | Bulk Product bae1b19f | Clothing | $561.80 | 60 | ★ 2.1 | 8 | BULK-45e8282d |
| 5741 | Bulk Product 709d12e0 | Home & Garden | $616.63 | 60 | ★ 3.3 | 36 | BULK-86bdea34 |
| 5742 | Bulk Product ae07a9c2 | Toys & Games | $54.52 | 152 | ★ 4.1 | 59 | BULK-f8e2810f |
| 5743 | Bulk Product 5a788aab | Electronics | $233.10 | 121 | ★ 1.4 | 6 | BULK-a6bec22d |
| 5744 | Bulk Product 7f83b55d | Electronics | $917.11 | 324 | ★ 4.1 | 54 | BULK-b0303fef |
| 5745 | Bulk Product b7eee2a9 | Books | $509.37 | 8 | ★ 4.7 | 69 | BULK-56ee56c2 |
| 5746 | Bulk Product 590620ed | Books | $661.09 | 267 | ★ 2.6 | 46 | BULK-2d59432b |
| 5747 | Bulk Product 47d25947 | Books | $87.05 | 16 | ★ 1.5 | 6 | BULK-b13aff0b |
| 5748 | Bulk Product 65c72740 | Sports & Outdoors | $298.36 | 340 | ★ 3.7 | 95 | BULK-d0ee2151 |
| 5749 | Bulk Product fe5dddde | Electronics | $961.34 | 135 | ★ 2.5 | 60 | BULK-053838d7 |
| 5750 | Bulk Product 0710cccf | Electronics | $661.66 | 277 | ★ 4.8 | 16 | BULK-f36994ee |
| 5751 | Bulk Product 0006fbf6 | Clothing | $1,004.88 | 136 | ★ 0.7 | 32 | BULK-13d6b162 |
| 5752 | Bulk Product b329ae18 | Sports & Outdoors | $805.02 | 112 | ★ 2.2 | 53 | BULK-c6059922 |
| 5753 | Bulk Product 13b0f63e | Sports & Outdoors | $559.93 | 289 | ★ 0.2 | 57 | BULK-33e4931f |
| 5754 | Bulk Product 5bfb8820 | Electronics | $174.71 | 294 | ★ 4.8 | 35 | BULK-46fd091b |
| 5755 | Bulk Product 2bb903b7 | Electronics | $25.78 | 365 | ★ 4.1 | 30 | BULK-c02deb24 |
| 5756 | Bulk Product 7fabaa40 | Sports & Outdoors | $83.91 | 171 | ★ 2.4 | 10 | BULK-b40b381e |
| 5757 | Bulk Product 47ae4be9 | Home & Garden | $341.55 | 225 | ★ 3.0 | 84 | BULK-65f2fed1 |
| 5758 | Bulk Product cce83c24 | Clothing | $724.68 | 281 | ★ 0.7 | 67 | BULK-7c169f7f |
| 5759 | Bulk Product f50912c2 | Home & Garden | $694.83 | 459 | ★ 3.8 | 20 | BULK-530a07dd |
// 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
};
}