Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 8210 | Bulk Product 8a33dac7 | Home & Garden | $271.73 | 259 | ★ 4.7 | 50 | BULK-fc513480 |
| 8211 | Bulk Product f8b6ce21 | Books | $530.67 | 109 | ★ 1.1 | 89 | BULK-45775170 |
| 8212 | Bulk Product 9ffdd0d3 | Sports & Outdoors | $785.45 | 119 | ★ 2.7 | 26 | BULK-41fd8369 |
| 8213 | Bulk Product d9879c13 | Toys & Games | $600.00 | 219 | ★ 1.6 | 90 | BULK-cbc00057 |
| 8214 | Bulk Product 622480ac | Clothing | $363.06 | 250 | ★ 1.3 | 17 | BULK-9f1377e3 |
| 8215 | Bulk Product 4c322eb5 | Books | $471.96 | 388 | ★ 1.5 | 94 | BULK-42a2bcac |
| 8216 | Bulk Product eae6e25b | Electronics | $740.13 | 228 | ★ 3.1 | 17 | BULK-184d7116 |
| 8217 | Bulk Product fc2ef699 | Electronics | $111.80 | 273 | ★ 4.8 | 78 | BULK-d911afc4 |
| 8218 | Bulk Product 251912db | Books | $907.95 | 216 | ★ 1.0 | 37 | BULK-43bcbc9b |
| 8219 | Bulk Product 4ef9da5d | Electronics | $124.67 | 223 | ★ 0.7 | 96 | BULK-141343f7 |
| 8220 | Bulk Product 0d42c715 | Toys & Games | $893.93 | 320 | ★ 2.8 | 26 | BULK-eccb3b8e |
| 8221 | Bulk Product 7cd02c75 | Toys & Games | $616.08 | 5 | ★ 3.9 | 6 | BULK-8d23c57c |
| 8222 | Bulk Product 64537eba | Books | $275.89 | 164 | ★ 1.4 | 41 | BULK-ae449971 |
| 8223 | Bulk Product 23772b09 | Home & Garden | $394.43 | 10 | ★ 0.0 | 84 | BULK-510c050e |
| 8224 | Bulk Product f7516c7f | Toys & Games | $461.26 | 410 | ★ 0.8 | 67 | BULK-752c9025 |
| 8225 | Bulk Product 1c2258e5 | Sports & Outdoors | $79.43 | 357 | ★ 4.0 | 62 | BULK-3066dc7c |
| 8226 | Bulk Product a38d3bb0 | Clothing | $116.45 | 25 | ★ 0.4 | 5 | BULK-bc47da48 |
| 8227 | Bulk Product 1969ad25 | Toys & Games | $947.36 | 56 | ★ 4.5 | 60 | BULK-c098a392 |
| 8228 | Bulk Product 2272c87f | Toys & Games | $454.65 | 11 | ★ 4.9 | 93 | BULK-6d3ee791 |
| 8229 | Bulk Product b1b27b93 | Sports & Outdoors | $15.42 | 412 | ★ 0.6 | 86 | BULK-d8506684 |
| 8230 | Bulk Product 09d2ac77 | Books | $420.75 | 490 | ★ 1.1 | 35 | BULK-6a41df7f |
| 8231 | Bulk Product f0ef5712 | Clothing | $651.32 | 444 | ★ 3.6 | 10 | BULK-60f9dddf |
| 8232 | Bulk Product b0592980 | Home & Garden | $175.17 | 109 | ★ 2.1 | 22 | BULK-0ab82e4c |
| 8233 | Bulk Product 20b94a34 | Home & Garden | $105.63 | 178 | ★ 0.5 | 60 | BULK-5b000306 |
| 8234 | Bulk Product 327e37f0 | Sports & Outdoors | $369.38 | 417 | ★ 3.5 | 21 | BULK-03982119 |
| 8235 | Bulk Product eb1c41cb | Electronics | $770.37 | 342 | ★ 1.0 | 1 | BULK-dda55728 |
| 8236 | Bulk Product 30b4e936 | Books | $910.34 | 469 | ★ 0.2 | 32 | BULK-2dbcec04 |
| 8237 | Bulk Product f643c96b | Clothing | $715.10 | 68 | ★ 2.0 | 26 | BULK-e7daa652 |
| 8238 | Bulk Product b599b890 | Toys & Games | $955.38 | 193 | ★ 3.5 | 54 | BULK-ff49da9f |
| 8239 | Bulk Product a7bceb48 | Toys & Games | $883.43 | 87 | ★ 3.6 | 80 | BULK-3aa42b7e |
| 8240 | Bulk Product f9da8d84 | Toys & Games | $824.24 | 139 | ★ 0.5 | 87 | BULK-a602e50e |
| 8241 | Bulk Product 350f47f2 | Sports & Outdoors | $674.75 | 249 | ★ 1.5 | 76 | BULK-e5db8e81 |
| 8242 | Bulk Product b10d9ca6 | Toys & Games | $547.58 | 477 | ★ 3.9 | 21 | BULK-ed6e7beb |
| 8243 | Bulk Product 28c9e5a4 | Clothing | $892.25 | 80 | ★ 3.1 | 38 | BULK-f83b71f0 |
| 8244 | Bulk Product 7f1cf406 | Toys & Games | $503.76 | 276 | ★ 1.9 | 37 | BULK-703f9f7c |
| 8245 | Bulk Product 25da87ab | Electronics | $250.35 | 300 | ★ 2.7 | 84 | BULK-3f5b8c75 |
| 8246 | Bulk Product 6bf67508 | Sports & Outdoors | $367.34 | 430 | ★ 2.4 | 26 | BULK-aa068712 |
| 8247 | Bulk Product 784909f0 | Electronics | $406.54 | 77 | ★ 2.5 | 83 | BULK-49b9f101 |
| 8248 | Bulk Product 4f07fa6e | Clothing | $350.98 | 1 | ★ 0.2 | 69 | BULK-076c152d |
| 8249 | Bulk Product 4895073f | Home & Garden | $996.82 | 381 | ★ 1.8 | 90 | BULK-48b37343 |
| 8250 | Bulk Product 0762a2c8 | Sports & Outdoors | $127.26 | 430 | ★ 1.1 | 36 | BULK-2a985d65 |
| 8251 | Bulk Product a0c1e1ed | Books | $786.54 | 130 | ★ 0.3 | 29 | BULK-bb3aa03f |
| 8252 | Bulk Product 0db3960e | Books | $998.75 | 176 | ★ 1.6 | 46 | BULK-eb646884 |
| 8253 | Bulk Product 980a2fea | Clothing | $659.05 | 462 | ★ 1.8 | 29 | BULK-740b36d4 |
| 8254 | Bulk Product e9123e02 | Home & Garden | $305.81 | 156 | ★ 1.2 | 99 | BULK-7cf59096 |
| 8255 | Bulk Product 37b01ccc | Home & Garden | $353.62 | 91 | ★ 1.3 | 76 | BULK-f7d59011 |
| 8256 | Bulk Product 6e389212 | Electronics | $11.50 | 385 | ★ 4.3 | 97 | BULK-22e96380 |
| 8257 | Bulk Product b0803dd2 | Electronics | $950.48 | 222 | ★ 0.3 | 74 | BULK-22b5be05 |
| 8258 | Bulk Product 5000479a | Sports & Outdoors | $938.41 | 472 | ★ 1.2 | 67 | BULK-080b31ae |
| 8259 | Bulk Product cffd154b | Clothing | $568.14 | 446 | ★ 2.7 | 99 | BULK-6c92de4b |
// 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
};
}