Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 24260 | Bulk Product d2080169 | Sports & Outdoors | $829.53 | 476 | ★ 0.3 | 19 | BULK-7e93ffcc |
| 24261 | Bulk Product 4272137c | Home & Garden | $628.80 | 375 | ★ 0.5 | 79 | BULK-25ac654b |
| 24262 | Bulk Product cf851bcb | Toys & Games | $30.50 | 349 | ★ 3.6 | 32 | BULK-edefc1ea |
| 24263 | Bulk Product b96e8818 | Clothing | $53.85 | 291 | ★ 2.2 | 31 | BULK-f4312e68 |
| 24264 | Bulk Product 1421b459 | Sports & Outdoors | $321.38 | 248 | ★ 0.4 | 62 | BULK-ca02a933 |
| 24265 | Bulk Product 47c86741 | Sports & Outdoors | $976.69 | 282 | ★ 1.7 | 41 | BULK-416a57ea |
| 24266 | Bulk Product d3372d17 | Electronics | $75.54 | 115 | ★ 4.9 | 44 | BULK-8d02b67f |
| 24267 | Bulk Product 0e2a0d7b | Home & Garden | $138.72 | 54 | ★ 2.3 | 68 | BULK-932eec8f |
| 24268 | Bulk Product c26d0201 | Books | $293.01 | 370 | ★ 2.7 | 38 | BULK-2cffa2d5 |
| 24269 | Bulk Product db4a36db | Home & Garden | $224.45 | 68 | ★ 1.1 | 41 | BULK-ba646713 |
| 24270 | Bulk Product c7bb35e7 | Clothing | $886.65 | 396 | ★ 4.0 | 56 | BULK-a166c04e |
| 24271 | Bulk Product b41ed421 | Books | $493.62 | 179 | ★ 4.5 | 65 | BULK-82fe2fca |
| 24272 | Bulk Product d373fb3f | Electronics | $332.96 | 42 | ★ 3.4 | 58 | BULK-1f4a69bd |
| 24273 | Bulk Product 3eea6b8e | Electronics | $91.93 | 75 | ★ 4.8 | 61 | BULK-5b4b933c |
| 24274 | Bulk Product 8195dfc6 | Sports & Outdoors | $427.78 | 361 | ★ 1.9 | 58 | BULK-b4f6fdf2 |
| 24275 | Bulk Product 71b454e3 | Clothing | $118.99 | 338 | ★ 5.0 | 0 | BULK-bb03bee6 |
| 24276 | Bulk Product 8e4e8538 | Electronics | $168.08 | 243 | ★ 0.4 | 6 | BULK-8aa15f9a |
| 24277 | Bulk Product 7fbae816 | Home & Garden | $669.40 | 357 | ★ 2.9 | 41 | BULK-d45c398f |
| 24278 | Bulk Product 342cff71 | Clothing | $957.81 | 359 | ★ 2.7 | 68 | BULK-7be4fc11 |
| 24279 | Bulk Product 66149958 | Clothing | $598.37 | 77 | ★ 1.5 | 33 | BULK-d1cedff7 |
| 24280 | Bulk Product 47a356e2 | Clothing | $462.03 | 74 | ★ 0.6 | 65 | BULK-e0f9e1c2 |
| 24281 | Bulk Product 1f43bce8 | Sports & Outdoors | $412.58 | 37 | ★ 3.6 | 48 | BULK-1e2c17bc |
| 24282 | Bulk Product 735db58b | Toys & Games | $419.15 | 71 | ★ 3.6 | 60 | BULK-89c8cda5 |
| 24283 | Bulk Product a5920cb7 | Electronics | $817.38 | 403 | ★ 2.4 | 22 | BULK-9a6f0f01 |
| 24284 | Bulk Product 94b0a4ff | Electronics | $680.07 | 480 | ★ 3.7 | 97 | BULK-b357998f |
| 24285 | Bulk Product 226c99f9 | Books | $991.65 | 159 | ★ 3.6 | 86 | BULK-ed7a45e8 |
| 24286 | Bulk Product 2fe64224 | Books | $699.25 | 239 | ★ 3.7 | 45 | BULK-e0a20f37 |
| 24287 | Bulk Product d7dbbb89 | Clothing | $417.88 | 3 | ★ 4.9 | 87 | BULK-e85e20de |
| 24288 | Bulk Product 3f9f7470 | Electronics | $561.99 | 461 | ★ 3.2 | 62 | BULK-cf3516e4 |
| 24289 | Bulk Product a47cc51d | Books | $384.25 | 495 | ★ 2.4 | 41 | BULK-c7a1fdfb |
| 24290 | Bulk Product cd8a7338 | Home & Garden | $484.88 | 194 | ★ 2.7 | 32 | BULK-a1ff757e |
| 24291 | Bulk Product 1436ad57 | Toys & Games | $331.11 | 182 | ★ 1.0 | 10 | BULK-263abc7f |
| 24292 | Bulk Product 080eb84a | Books | $232.98 | 358 | ★ 2.5 | 0 | BULK-2a2bfb6f |
| 24293 | Bulk Product c0a64dcd | Books | $63.72 | 355 | ★ 3.2 | 55 | BULK-4646cf43 |
| 24294 | Bulk Product b231010d | Books | $790.39 | 41 | ★ 1.3 | 50 | BULK-42a23fef |
| 24295 | Bulk Product efc4af1e | Clothing | $596.30 | 201 | ★ 3.2 | 45 | BULK-baf2be24 |
| 24296 | Bulk Product 39536f70 | Toys & Games | $341.22 | 406 | ★ 4.2 | 55 | BULK-9e33c2df |
| 24297 | Bulk Product 046078c8 | Home & Garden | $976.05 | 283 | ★ 1.7 | 38 | BULK-7cc41044 |
| 24298 | Bulk Product 66bd7e78 | Electronics | $680.84 | 235 | ★ 2.0 | 14 | BULK-f20819f3 |
| 24299 | Bulk Product 450d4f03 | Sports & Outdoors | $903.30 | 104 | ★ 1.2 | 62 | BULK-e214706b |
| 24300 | Bulk Product b3d2794c | Toys & Games | $843.28 | 416 | ★ 3.6 | 1 | BULK-f5d8bd0e |
| 24301 | Bulk Product b619120d | Clothing | $530.53 | 336 | ★ 4.8 | 89 | BULK-221505f8 |
| 24302 | Bulk Product 89f4d20f | Toys & Games | $708.17 | 471 | ★ 3.3 | 49 | BULK-a2c13e38 |
| 24303 | Bulk Product a3f8c96d | Sports & Outdoors | $547.49 | 71 | ★ 1.2 | 86 | BULK-7c76a846 |
| 24304 | Bulk Product df3a352a | Toys & Games | $525.62 | 294 | ★ 0.8 | 78 | BULK-fba345d3 |
| 24305 | Bulk Product b1afc906 | Home & Garden | $408.09 | 336 | ★ 3.5 | 4 | BULK-2c8278d2 |
| 24306 | Bulk Product 8621e84e | Clothing | $720.92 | 336 | ★ 1.1 | 54 | BULK-81709226 |
| 24307 | Bulk Product 9e558d5e | Clothing | $567.30 | 270 | ★ 2.0 | 75 | BULK-d4f9f30c |
| 24308 | Bulk Product ef39ca9a | Toys & Games | $870.70 | 54 | ★ 0.9 | 49 | BULK-c6d0c43d |
| 24309 | Bulk Product 55dfb6ab | Home & Garden | $117.43 | 149 | ★ 1.8 | 87 | BULK-b749bed5 |
// 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
};
}