Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 9810 | Bulk Product 309ccdb6 | Home & Garden | $574.17 | 139 | ★ 2.0 | 9 | BULK-9e517123 |
| 9811 | Bulk Product d6803205 | Books | $658.88 | 177 | ★ 4.9 | 15 | BULK-32223430 |
| 9812 | Bulk Product 1c60c30d | Clothing | $584.57 | 348 | ★ 1.6 | 13 | BULK-b5cbc623 |
| 9813 | Bulk Product 543be492 | Sports & Outdoors | $471.45 | 220 | ★ 3.8 | 63 | BULK-6e1ba108 |
| 9814 | Bulk Product 74095564 | Electronics | $849.69 | 280 | ★ 1.7 | 37 | BULK-5c4c6287 |
| 9815 | Bulk Product 4715d77f | Books | $341.16 | 186 | ★ 2.9 | 39 | BULK-914f07f9 |
| 9816 | Bulk Product 8be6a04c | Sports & Outdoors | $954.84 | 460 | ★ 2.2 | 84 | BULK-d7bcea83 |
| 9817 | Bulk Product dee77662 | Books | $153.39 | 201 | ★ 0.1 | 58 | BULK-9aa95447 |
| 9818 | Bulk Product d5e92594 | Toys & Games | $467.89 | 132 | ★ 0.6 | 99 | BULK-d5d4c2cf |
| 9819 | Bulk Product 5dd0bf2d | Toys & Games | $778.95 | 241 | ★ 1.1 | 66 | BULK-c1471964 |
| 9820 | Bulk Product e457823b | Books | $1,000.40 | 326 | ★ 2.9 | 83 | BULK-1a8ddcd3 |
| 9821 | Bulk Product 501c67f6 | Home & Garden | $632.17 | 130 | ★ 4.5 | 89 | BULK-1c80bb08 |
| 9822 | Bulk Product b3327baf | Books | $766.88 | 247 | ★ 3.6 | 25 | BULK-267679ec |
| 9823 | Bulk Product f12a6945 | Sports & Outdoors | $551.15 | 335 | ★ 1.9 | 21 | BULK-70c2731f |
| 9824 | Bulk Product 83fc89bb | Sports & Outdoors | $494.59 | 107 | ★ 1.5 | 7 | BULK-7cacec7f |
| 9825 | Bulk Product b00f642e | Home & Garden | $962.49 | 204 | ★ 0.6 | 27 | BULK-3a63c5b3 |
| 9826 | Bulk Product 84594225 | Books | $872.50 | 134 | ★ 2.6 | 17 | BULK-c5aafb0a |
| 9827 | Bulk Product b05b624d | Sports & Outdoors | $26.74 | 205 | ★ 3.3 | 72 | BULK-d4f5e2dd |
| 9828 | Bulk Product 23abfc33 | Books | $206.93 | 442 | ★ 0.9 | 21 | BULK-568fa421 |
| 9829 | Bulk Product 9f435e47 | Books | $619.43 | 134 | ★ 3.5 | 80 | BULK-fc30d034 |
| 9830 | Bulk Product 4a3bf648 | Sports & Outdoors | $937.51 | 109 | ★ 3.1 | 21 | BULK-dd9b2aff |
| 9831 | Bulk Product f93e6420 | Home & Garden | $149.01 | 162 | ★ 0.5 | 41 | BULK-2ad7d869 |
| 9832 | Bulk Product 33ad1151 | Electronics | $962.04 | 423 | ★ 1.1 | 90 | BULK-74d3172d |
| 9833 | Bulk Product 1e1082df | Books | $803.96 | 236 | ★ 4.0 | 10 | BULK-f01e48c3 |
| 9834 | Bulk Product 2953b63a | Sports & Outdoors | $354.19 | 26 | ★ 3.7 | 62 | BULK-50ab2ae0 |
| 9835 | Bulk Product 85f59bb1 | Electronics | $52.24 | 442 | ★ 2.5 | 61 | BULK-7b58d18a |
| 9836 | Bulk Product b7135615 | Sports & Outdoors | $440.04 | 477 | ★ 2.5 | 24 | BULK-0b43872f |
| 9837 | Bulk Product 847b711e | Toys & Games | $449.56 | 352 | ★ 3.7 | 69 | BULK-217e263d |
| 9838 | Bulk Product b9fe8418 | Home & Garden | $968.18 | 214 | ★ 3.2 | 78 | BULK-1d6991d2 |
| 9839 | Bulk Product f5f1d8bb | Toys & Games | $662.87 | 389 | ★ 4.5 | 18 | BULK-38be49b4 |
| 9840 | Bulk Product 2a0a5ebe | Clothing | $221.42 | 474 | ★ 4.8 | 67 | BULK-6da7640e |
| 9841 | Bulk Product 0899007d | Toys & Games | $594.53 | 26 | ★ 0.9 | 37 | BULK-5be026b6 |
| 9842 | Bulk Product 9dfa9f29 | Sports & Outdoors | $966.28 | 434 | ★ 0.9 | 53 | BULK-39504a16 |
| 9843 | Bulk Product 3c9e8566 | Electronics | $813.83 | 491 | ★ 2.2 | 43 | BULK-ac273803 |
| 9844 | Bulk Product 4d33740a | Sports & Outdoors | $719.29 | 279 | ★ 3.6 | 31 | BULK-7167d00d |
| 9845 | Bulk Product 17518e04 | Toys & Games | $439.51 | 172 | ★ 0.9 | 36 | BULK-03bf1f6e |
| 9846 | Bulk Product fa072ebf | Home & Garden | $325.12 | 93 | ★ 4.6 | 7 | BULK-7bbd0729 |
| 9847 | Bulk Product 97c0524c | Books | $383.18 | 108 | ★ 0.6 | 24 | BULK-2ee624a7 |
| 9848 | Bulk Product 9be14db0 | Home & Garden | $378.76 | 74 | ★ 2.8 | 98 | BULK-6472cc24 |
| 9849 | Bulk Product 5d0fc8e0 | Toys & Games | $723.09 | 454 | ★ 2.2 | 90 | BULK-0574ad64 |
| 9850 | Bulk Product 59ff8b4a | Books | $364.87 | 472 | ★ 1.7 | 16 | BULK-1eda80a5 |
| 9851 | Bulk Product a6cd730f | Books | $776.17 | 55 | ★ 0.1 | 62 | BULK-c08a9256 |
| 9852 | Bulk Product 190eac96 | Electronics | $231.71 | 278 | ★ 4.8 | 48 | BULK-8333ad16 |
| 9853 | Bulk Product 26b15311 | Home & Garden | $732.08 | 470 | ★ 2.6 | 18 | BULK-67b84d40 |
| 9854 | Bulk Product 22797dec | Electronics | $214.32 | 185 | ★ 2.8 | 57 | BULK-2258bec3 |
| 9855 | Bulk Product 84f0b2c5 | Toys & Games | $474.78 | 73 | ★ 1.9 | 95 | BULK-bb5f5d12 |
| 9856 | Bulk Product a30b84ee | Toys & Games | $440.87 | 185 | ★ 2.9 | 98 | BULK-171a044c |
| 9857 | Bulk Product 034e6301 | Electronics | $854.25 | 360 | ★ 3.3 | 89 | BULK-ad4f2d49 |
| 9858 | Bulk Product 7d7c5598 | Toys & Games | $238.48 | 351 | ★ 3.7 | 49 | BULK-0cb55fba |
| 9859 | Bulk Product fb692ce9 | Clothing | $605.01 | 136 | ★ 1.5 | 78 | BULK-b961a97e |
// 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
};
}