Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 7810 | Bulk Product a39dba02 | Home & Garden | $129.87 | 158 | ★ 3.3 | 91 | BULK-1cf57d42 |
| 7811 | Bulk Product 4fd7862b | Home & Garden | $422.71 | 246 | ★ 3.0 | 90 | BULK-52ce0bfa |
| 7812 | Bulk Product d4204f83 | Books | $743.38 | 316 | ★ 5.0 | 96 | BULK-47ed5897 |
| 7813 | Bulk Product e966f337 | Sports & Outdoors | $744.65 | 51 | ★ 1.0 | 22 | BULK-73425969 |
| 7814 | Bulk Product d1cbbbc7 | Clothing | $506.81 | 109 | ★ 2.6 | 69 | BULK-e7878b70 |
| 7815 | Bulk Product b6135701 | Electronics | $628.55 | 316 | ★ 1.3 | 73 | BULK-01cfaad2 |
| 7816 | Bulk Product bdce91c3 | Sports & Outdoors | $422.71 | 112 | ★ 4.6 | 53 | BULK-d84d7455 |
| 7817 | Bulk Product d2fe56f8 | Books | $989.34 | 69 | ★ 4.9 | 18 | BULK-c4fd507c |
| 7818 | Bulk Product abdfd9fa | Books | $254.28 | 53 | ★ 3.4 | 5 | BULK-a212fb9a |
| 7819 | Bulk Product 98e3167b | Toys & Games | $970.59 | 44 | ★ 4.7 | 54 | BULK-055233bb |
| 7820 | Bulk Product 90ca5452 | Toys & Games | $459.45 | 479 | ★ 4.1 | 69 | BULK-3a3aa484 |
| 7821 | Bulk Product a0482d5c | Clothing | $687.97 | 417 | ★ 1.2 | 34 | BULK-95b57efc |
| 7822 | Bulk Product db578f1c | Sports & Outdoors | $275.94 | 141 | ★ 4.0 | 70 | BULK-a845d8d0 |
| 7823 | Bulk Product 625883c3 | Books | $112.17 | 85 | ★ 4.2 | 3 | BULK-f9313460 |
| 7824 | Bulk Product 51b4a6ea | Toys & Games | $706.83 | 302 | ★ 2.7 | 35 | BULK-bae6605e |
| 7825 | Bulk Product 6981f79f | Clothing | $999.73 | 456 | ★ 3.5 | 54 | BULK-c131c74c |
| 7826 | Bulk Product b3d25a77 | Clothing | $882.83 | 237 | ★ 0.1 | 63 | BULK-6b0af0e7 |
| 7827 | Bulk Product 1fc78970 | Sports & Outdoors | $42.32 | 220 | ★ 4.9 | 27 | BULK-34f17e25 |
| 7828 | Bulk Product df3e39fc | Home & Garden | $268.17 | 123 | ★ 1.6 | 31 | BULK-832c8a0c |
| 7829 | Bulk Product 923612ed | Clothing | $397.47 | 288 | ★ 3.4 | 71 | BULK-affde053 |
| 7830 | Bulk Product 484f8b28 | Electronics | $261.95 | 490 | ★ 3.1 | 13 | BULK-95d613dd |
| 7831 | Bulk Product 2c9bdd3a | Books | $996.70 | 248 | ★ 4.8 | 17 | BULK-aac08a0b |
| 7832 | Bulk Product c66933c2 | Electronics | $418.47 | 414 | ★ 0.9 | 47 | BULK-b430b4af |
| 7833 | Bulk Product ec7f4a2b | Toys & Games | $170.46 | 295 | ★ 1.2 | 64 | BULK-b2ac5b81 |
| 7834 | Bulk Product 59074f12 | Home & Garden | $698.71 | 189 | ★ 4.8 | 94 | BULK-f3251ebb |
| 7835 | Bulk Product dc2aed79 | Clothing | $95.86 | 47 | ★ 0.2 | 47 | BULK-f1ac9aeb |
| 7836 | Bulk Product 7c5ff2d4 | Books | $556.36 | 87 | ★ 4.6 | 18 | BULK-a6684d35 |
| 7837 | Bulk Product be3074b6 | Electronics | $926.23 | 341 | ★ 1.2 | 58 | BULK-af74141e |
| 7838 | Bulk Product c12420a9 | Books | $463.33 | 70 | ★ 1.9 | 52 | BULK-b9d2a566 |
| 7839 | Bulk Product 03b4416e | Clothing | $235.36 | 259 | ★ 4.8 | 49 | BULK-c5376cff |
| 7840 | Bulk Product 72faff0d | Sports & Outdoors | $859.34 | 438 | ★ 0.3 | 92 | BULK-5c25b712 |
| 7841 | Bulk Product 5b66a9d2 | Electronics | $151.21 | 1 | ★ 4.1 | 7 | BULK-1a06211a |
| 7842 | Bulk Product a3e485dc | Books | $625.49 | 405 | ★ 3.6 | 96 | BULK-08223676 |
| 7843 | Bulk Product f19201f2 | Clothing | $593.41 | 431 | ★ 3.0 | 32 | BULK-dec75f39 |
| 7844 | Bulk Product 747f1ed6 | Toys & Games | $149.41 | 329 | ★ 1.7 | 69 | BULK-a98288cd |
| 7845 | Bulk Product 4bf2d34f | Toys & Games | $270.94 | 457 | ★ 2.3 | 90 | BULK-1ddaa395 |
| 7846 | Bulk Product 91c16610 | Electronics | $919.13 | 2 | ★ 2.3 | 35 | BULK-332dcafb |
| 7847 | Bulk Product d2ac3754 | Electronics | $745.70 | 68 | ★ 0.6 | 33 | BULK-cb0322d7 |
| 7848 | Bulk Product fcf5bf7a | Toys & Games | $725.49 | 183 | ★ 3.1 | 1 | BULK-d32fc9a8 |
| 7849 | Bulk Product 2f0866ff | Home & Garden | $619.14 | 12 | ★ 4.3 | 64 | BULK-700e3afc |
| 7850 | Bulk Product a50b9d15 | Home & Garden | $607.79 | 15 | ★ 0.3 | 13 | BULK-fefdbcd4 |
| 7851 | Bulk Product fc702abf | Books | $856.98 | 74 | ★ 1.5 | 99 | BULK-a86a9c3f |
| 7852 | Bulk Product 36538316 | Books | $39.11 | 232 | ★ 1.5 | 29 | BULK-8b62fdde |
| 7853 | Bulk Product 34056eab | Clothing | $944.40 | 322 | ★ 0.6 | 56 | BULK-3c11263e |
| 7854 | Bulk Product f7784997 | Clothing | $455.22 | 399 | ★ 1.9 | 23 | BULK-96ffa533 |
| 7855 | Bulk Product efc6b717 | Electronics | $740.49 | 45 | ★ 0.6 | 53 | BULK-d4002112 |
| 7856 | Bulk Product 5081de2b | Books | $774.62 | 329 | ★ 1.1 | 42 | BULK-f2277dc5 |
| 7857 | Bulk Product 37c27601 | Sports & Outdoors | $43.74 | 4 | ★ 4.4 | 1 | BULK-ef1d03fb |
| 7858 | Bulk Product 208a1eb6 | Electronics | $251.20 | 105 | ★ 3.3 | 54 | BULK-c0bb5184 |
| 7859 | Bulk Product 1c8b37dd | Toys & Games | $706.56 | 158 | ★ 0.0 | 37 | BULK-b82874b9 |
// 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
};
}