Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 18310 | Bulk Product 45b24b97 | Clothing | $877.09 | 44 | ★ 4.5 | 13 | BULK-826418be |
| 18311 | Bulk Product 8242a9f1 | Home & Garden | $134.33 | 313 | ★ 1.3 | 72 | BULK-e734bef1 |
| 18312 | Bulk Product 975f33fc | Clothing | $970.21 | 186 | ★ 4.8 | 81 | BULK-e270baf1 |
| 18313 | Bulk Product 88ea75ac | Electronics | $839.42 | 73 | ★ 2.8 | 83 | BULK-0edd9c53 |
| 18314 | Bulk Product dd6f1077 | Sports & Outdoors | $374.32 | 253 | ★ 1.3 | 37 | BULK-b27fcc5b |
| 18315 | Bulk Product 1f3c0451 | Books | $1,002.85 | 192 | ★ 4.3 | 22 | BULK-8ef05f91 |
| 18316 | Bulk Product d1f2ad8b | Sports & Outdoors | $344.67 | 116 | ★ 4.4 | 35 | BULK-eb8c8160 |
| 18317 | Bulk Product 6d05b523 | Clothing | $380.20 | 400 | ★ 4.3 | 95 | BULK-7bcf7318 |
| 18318 | Bulk Product 5c010863 | Sports & Outdoors | $507.24 | 182 | ★ 3.2 | 90 | BULK-de522433 |
| 18319 | Bulk Product 7c24f506 | Sports & Outdoors | $335.53 | 57 | ★ 4.3 | 81 | BULK-74da9810 |
| 18320 | Bulk Product 6bace188 | Clothing | $639.64 | 27 | ★ 1.8 | 85 | BULK-21b8bbfa |
| 18321 | Bulk Product a2dca56d | Sports & Outdoors | $281.79 | 465 | ★ 3.3 | 68 | BULK-8d578f39 |
| 18322 | Bulk Product 96758fd5 | Home & Garden | $313.28 | 278 | ★ 1.5 | 56 | BULK-0daa8757 |
| 18323 | Bulk Product 084a2f85 | Sports & Outdoors | $725.65 | 441 | ★ 0.8 | 79 | BULK-122a7feb |
| 18324 | Bulk Product 4ffbeec1 | Home & Garden | $284.42 | 208 | ★ 3.5 | 29 | BULK-c43c0635 |
| 18325 | Bulk Product 237b4d34 | Books | $398.25 | 438 | ★ 2.5 | 11 | BULK-8f9d001d |
| 18326 | Bulk Product 47e4cf01 | Clothing | $791.85 | 70 | ★ 0.8 | 92 | BULK-f07c1fb6 |
| 18327 | Bulk Product eec6427a | Sports & Outdoors | $318.24 | 348 | ★ 4.9 | 29 | BULK-8941f9b8 |
| 18328 | Bulk Product df203639 | Clothing | $929.86 | 66 | ★ 0.6 | 31 | BULK-5bcdf2b0 |
| 18329 | Bulk Product 21e30b06 | Clothing | $979.10 | 479 | ★ 3.8 | 95 | BULK-c80acfde |
| 18330 | Bulk Product ced8ff05 | Home & Garden | $200.63 | 323 | ★ 0.7 | 41 | BULK-69c703d2 |
| 18331 | Bulk Product 5cb0c84c | Sports & Outdoors | $428.53 | 173 | ★ 4.0 | 5 | BULK-dbfaa50e |
| 18332 | Bulk Product e7af4085 | Electronics | $786.41 | 233 | ★ 0.5 | 75 | BULK-73cc3503 |
| 18333 | Bulk Product 63ea4492 | Sports & Outdoors | $108.35 | 453 | ★ 2.5 | 22 | BULK-cc374ef3 |
| 18334 | Bulk Product fb2b8dfa | Sports & Outdoors | $460.28 | 394 | ★ 0.0 | 74 | BULK-fc73d8ca |
| 18335 | Bulk Product 4eec4f18 | Books | $521.93 | 490 | ★ 0.7 | 87 | BULK-973dc08c |
| 18336 | Bulk Product a050b96a | Toys & Games | $548.59 | 297 | ★ 3.5 | 54 | BULK-f950c5dd |
| 18337 | Bulk Product 3ffb1ae5 | Books | $189.40 | 107 | ★ 0.5 | 32 | BULK-9f1ee792 |
| 18338 | Bulk Product 7781b4a1 | Home & Garden | $196.71 | 134 | ★ 4.3 | 44 | BULK-19f5b05a |
| 18339 | Bulk Product 6820f91d | Books | $690.34 | 337 | ★ 0.7 | 70 | BULK-13d46fa1 |
| 18340 | Bulk Product be7c4f06 | Books | $262.17 | 163 | ★ 0.9 | 94 | BULK-8f75f5b2 |
| 18341 | Bulk Product 8438ee8b | Clothing | $900.99 | 24 | ★ 1.1 | 31 | BULK-512565ba |
| 18342 | Bulk Product c4f0dec5 | Electronics | $581.52 | 241 | ★ 4.3 | 45 | BULK-7d4e64c6 |
| 18343 | Bulk Product 0e835dc2 | Toys & Games | $939.90 | 137 | ★ 4.1 | 48 | BULK-614bcdfa |
| 18344 | Bulk Product ae54af01 | Home & Garden | $29.50 | 129 | ★ 2.1 | 6 | BULK-8955a759 |
| 18345 | Bulk Product 65d76684 | Sports & Outdoors | $204.65 | 417 | ★ 2.1 | 5 | BULK-fb316180 |
| 18346 | Bulk Product 90802966 | Clothing | $945.06 | 159 | ★ 1.5 | 24 | BULK-54b68763 |
| 18347 | Bulk Product 220dc0ae | Sports & Outdoors | $602.69 | 5 | ★ 2.2 | 17 | BULK-1df153f7 |
| 18348 | Bulk Product 1fe65a9b | Books | $480.14 | 344 | ★ 4.9 | 11 | BULK-27490a79 |
| 18349 | Bulk Product faa3ae52 | Toys & Games | $871.74 | 335 | ★ 3.7 | 93 | BULK-955db7fd |
| 18350 | Bulk Product 7213df5d | Books | $638.38 | 413 | ★ 4.8 | 78 | BULK-ea49406d |
| 18351 | Bulk Product 695e1d45 | Electronics | $306.57 | 148 | ★ 0.6 | 22 | BULK-5ee9c631 |
| 18352 | Bulk Product d3f915b7 | Toys & Games | $90.18 | 381 | ★ 4.8 | 74 | BULK-920b6c49 |
| 18353 | Bulk Product d28f4a4b | Home & Garden | $568.74 | 223 | ★ 0.1 | 63 | BULK-3990ec29 |
| 18354 | Bulk Product b346ded8 | Home & Garden | $724.88 | 137 | ★ 4.9 | 54 | BULK-5edd9fb3 |
| 18355 | Bulk Product d05454b5 | Electronics | $543.75 | 279 | ★ 3.3 | 79 | BULK-a0e2c97c |
| 18356 | Bulk Product 244d34ea | Toys & Games | $1,005.40 | 24 | ★ 1.3 | 31 | BULK-7750ee61 |
| 18357 | Bulk Product aaaa8e17 | Sports & Outdoors | $345.34 | 337 | ★ 4.5 | 56 | BULK-12f57f9c |
| 18358 | Bulk Product 139aeb0b | Sports & Outdoors | $942.99 | 317 | ★ 3.2 | 30 | BULK-ccbeae56 |
| 18359 | Bulk Product 5cf0c781 | Home & Garden | $998.98 | 252 | ★ 0.6 | 90 | BULK-4087ae9f |
// 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
};
}