Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 15310 | Bulk Product 5451e23c | Clothing | $986.06 | 330 | ★ 0.5 | 16 | BULK-5e11c5f8 |
| 15311 | Bulk Product 3acadada | Toys & Games | $217.74 | 413 | ★ 1.4 | 26 | BULK-f41a254a |
| 15312 | Bulk Product 435a07e1 | Clothing | $638.42 | 288 | ★ 1.4 | 25 | BULK-4ce1cb67 |
| 15313 | Bulk Product f551dbc9 | Electronics | $933.73 | 110 | ★ 4.9 | 32 | BULK-0dccc05b |
| 15314 | Bulk Product 079d5340 | Home & Garden | $668.94 | 398 | ★ 1.3 | 27 | BULK-24a1a0b9 |
| 15315 | Bulk Product 94388a39 | Sports & Outdoors | $683.04 | 443 | ★ 2.7 | 26 | BULK-5feb5822 |
| 15316 | Bulk Product b256ec91 | Electronics | $183.77 | 481 | ★ 4.6 | 43 | BULK-46375d2a |
| 15317 | Bulk Product e4ddeb4c | Electronics | $877.56 | 250 | ★ 4.2 | 28 | BULK-69fdeeab |
| 15318 | Bulk Product 8ab73580 | Sports & Outdoors | $956.64 | 238 | ★ 4.7 | 25 | BULK-713797e4 |
| 15319 | Bulk Product 5aa4b83a | Books | $717.96 | 146 | ★ 0.6 | 94 | BULK-c96bcfdf |
| 15320 | Bulk Product 93b93987 | Books | $191.95 | 396 | ★ 1.4 | 5 | BULK-9524e9f5 |
| 15321 | Bulk Product f78318e7 | Electronics | $255.02 | 469 | ★ 0.5 | 1 | BULK-f8a30aac |
| 15322 | Bulk Product ef7a67a2 | Home & Garden | $168.81 | 113 | ★ 3.3 | 67 | BULK-abb46aab |
| 15323 | Bulk Product 6d2d8bc9 | Books | $73.48 | 247 | ★ 3.8 | 79 | BULK-7b802454 |
| 15324 | Bulk Product 3465613f | Books | $600.53 | 363 | ★ 3.6 | 2 | BULK-2837289c |
| 15325 | Bulk Product e31b956a | Electronics | $658.87 | 404 | ★ 1.6 | 39 | BULK-4ade90dd |
| 15326 | Bulk Product af2a8cc4 | Electronics | $655.18 | 250 | ★ 0.3 | 15 | BULK-5bc228ca |
| 15327 | Bulk Product 9a979316 | Electronics | $294.17 | 246 | ★ 0.1 | 64 | BULK-6061f9a5 |
| 15328 | Bulk Product 30e6b16a | Electronics | $581.73 | 201 | ★ 4.5 | 46 | BULK-0d5c75f7 |
| 15329 | Bulk Product 366e986f | Clothing | $881.11 | 76 | ★ 2.1 | 38 | BULK-efd7e5e7 |
| 15330 | Bulk Product b88d8f18 | Toys & Games | $12.25 | 329 | ★ 1.2 | 10 | BULK-3189d183 |
| 15331 | Bulk Product 74ac8394 | Home & Garden | $821.08 | 75 | ★ 1.8 | 57 | BULK-f99343eb |
| 15332 | Bulk Product 245e964b | Clothing | $162.87 | 199 | ★ 3.2 | 73 | BULK-5ac33565 |
| 15333 | Bulk Product ab4d2362 | Electronics | $836.01 | 62 | ★ 2.4 | 95 | BULK-b6dbf8dd |
| 15334 | Bulk Product c624f364 | Electronics | $553.16 | 336 | ★ 2.1 | 85 | BULK-def7b488 |
| 15335 | Bulk Product d13da669 | Clothing | $679.30 | 326 | ★ 1.1 | 98 | BULK-66bdc0f4 |
| 15336 | Bulk Product 518d4fa3 | Clothing | $823.05 | 289 | ★ 1.6 | 98 | BULK-4bd4f0a2 |
| 15337 | Bulk Product 78a3b800 | Books | $854.93 | 118 | ★ 0.7 | 46 | BULK-56320694 |
| 15338 | Bulk Product e82792e8 | Electronics | $195.86 | 233 | ★ 4.2 | 1 | BULK-0047b16a |
| 15339 | Bulk Product 133bd806 | Toys & Games | $716.20 | 426 | ★ 4.9 | 49 | BULK-49aa210a |
| 15340 | Bulk Product 21be3d42 | Electronics | $295.85 | 476 | ★ 2.3 | 45 | BULK-d27d7bad |
| 15341 | Bulk Product f47e9e96 | Books | $865.25 | 417 | ★ 1.5 | 8 | BULK-3347a28e |
| 15342 | Bulk Product 5ad88716 | Clothing | $563.58 | 403 | ★ 3.2 | 97 | BULK-43600f65 |
| 15343 | Bulk Product c7294be1 | Sports & Outdoors | $185.58 | 196 | ★ 0.3 | 3 | BULK-6890a42d |
| 15344 | Bulk Product cd5bb378 | Home & Garden | $446.60 | 438 | ★ 1.1 | 6 | BULK-9b395136 |
| 15345 | Bulk Product 76656f81 | Toys & Games | $775.33 | 31 | ★ 1.0 | 34 | BULK-7c5d3313 |
| 15346 | Bulk Product 8dae351b | Clothing | $196.06 | 344 | ★ 0.2 | 55 | BULK-86e72ea7 |
| 15347 | Bulk Product 12211616 | Clothing | $441.92 | 72 | ★ 1.1 | 39 | BULK-fdb4495e |
| 15348 | Bulk Product c75395a1 | Sports & Outdoors | $188.21 | 457 | ★ 1.1 | 29 | BULK-e8bb0ad6 |
| 15349 | Bulk Product 54c99398 | Sports & Outdoors | $359.80 | 17 | ★ 4.0 | 61 | BULK-6ec12e0d |
| 15350 | Bulk Product fe39ec5e | Electronics | $629.00 | 245 | ★ 0.2 | 22 | BULK-5c749abb |
| 15351 | Bulk Product 69fa1b14 | Home & Garden | $83.45 | 214 | ★ 4.7 | 23 | BULK-a63d1878 |
| 15352 | Bulk Product b284ee44 | Toys & Games | $92.15 | 105 | ★ 0.1 | 12 | BULK-79f20c2b |
| 15353 | Bulk Product a8a2c284 | Sports & Outdoors | $186.50 | 121 | ★ 1.1 | 15 | BULK-e70aa3aa |
| 15354 | Bulk Product 0f0fbdcc | Sports & Outdoors | $576.46 | 224 | ★ 4.6 | 95 | BULK-77563f93 |
| 15355 | Bulk Product c92fbcb0 | Electronics | $366.28 | 204 | ★ 1.7 | 98 | BULK-10daf68c |
| 15356 | Bulk Product 21342f9a | Toys & Games | $561.42 | 454 | ★ 4.7 | 87 | BULK-29480e60 |
| 15357 | Bulk Product 4988a91a | Toys & Games | $987.84 | 156 | ★ 2.4 | 68 | BULK-f3ccb746 |
| 15358 | Bulk Product fffc5990 | Electronics | $295.62 | 239 | ★ 1.0 | 4 | BULK-841914c5 |
| 15359 | Bulk Product 728a9581 | Clothing | $46.93 | 283 | ★ 0.8 | 63 | BULK-c0c00bdc |
// 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
};
}