Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 11360 | Bulk Product b11cd07a | Toys & Games | $142.61 | 401 | ★ 2.0 | 30 | BULK-c113ba88 |
| 11361 | Bulk Product 4c227eda | Toys & Games | $845.17 | 195 | ★ 2.1 | 69 | BULK-c00ff232 |
| 11362 | Bulk Product c880afc1 | Home & Garden | $912.09 | 334 | ★ 2.5 | 95 | BULK-4a62cb21 |
| 11363 | Bulk Product 532b506f | Clothing | $307.15 | 94 | ★ 3.1 | 15 | BULK-8ac965f8 |
| 11364 | Bulk Product 4667fa71 | Sports & Outdoors | $218.57 | 105 | ★ 2.4 | 56 | BULK-ddfb0cf3 |
| 11365 | Bulk Product 5243bf9f | Books | $634.05 | 401 | ★ 0.7 | 69 | BULK-2e7adf5e |
| 11366 | Bulk Product 338cd35c | Books | $756.01 | 170 | ★ 4.6 | 86 | BULK-5ebbacd7 |
| 11367 | Bulk Product d30b4349 | Toys & Games | $552.38 | 245 | ★ 1.9 | 35 | BULK-06eb8abb |
| 11368 | Bulk Product 89260b54 | Electronics | $155.60 | 141 | ★ 0.5 | 37 | BULK-bdd347e4 |
| 11369 | Bulk Product 1eebdaaa | Home & Garden | $96.83 | 137 | ★ 0.2 | 13 | BULK-d56dd165 |
| 11370 | Bulk Product 5985699e | Books | $475.60 | 295 | ★ 0.9 | 91 | BULK-08c79d8d |
| 11371 | Bulk Product df2100f7 | Home & Garden | $131.60 | 189 | ★ 4.1 | 36 | BULK-4c6462ef |
| 11372 | Bulk Product 7bc228a9 | Books | $836.69 | 89 | ★ 0.4 | 93 | BULK-4fe33818 |
| 11373 | Bulk Product b84edd34 | Clothing | $873.91 | 295 | ★ 4.3 | 19 | BULK-2cf38275 |
| 11374 | Bulk Product bf8985a2 | Sports & Outdoors | $726.20 | 8 | ★ 2.9 | 3 | BULK-f72cc189 |
| 11375 | Bulk Product c92d94b6 | Books | $659.96 | 353 | ★ 2.9 | 95 | BULK-f359960e |
| 11376 | Bulk Product 375b0fff | Clothing | $292.68 | 484 | ★ 2.3 | 91 | BULK-62d8f718 |
| 11377 | Bulk Product 2898aca3 | Sports & Outdoors | $385.95 | 133 | ★ 0.4 | 85 | BULK-2f17d3f7 |
| 11378 | Bulk Product ec614f5d | Electronics | $826.91 | 191 | ★ 3.1 | 50 | BULK-b1c5f70c |
| 11379 | Bulk Product 26313e4a | Toys & Games | $835.05 | 64 | ★ 1.3 | 29 | BULK-c12afc82 |
| 11380 | Bulk Product 207f6916 | Electronics | $24.60 | 45 | ★ 2.2 | 54 | BULK-01cba006 |
| 11381 | Bulk Product 3f740e63 | Toys & Games | $851.58 | 466 | ★ 2.0 | 6 | BULK-dab143af |
| 11382 | Bulk Product 93a2b341 | Books | $792.81 | 138 | ★ 2.5 | 95 | BULK-fa2d6670 |
| 11383 | Bulk Product 87a214d6 | Sports & Outdoors | $227.13 | 229 | ★ 0.2 | 47 | BULK-83b3e4fd |
| 11384 | Bulk Product 3501a5ed | Books | $74.69 | 478 | ★ 2.0 | 86 | BULK-ca3f2f7f |
| 11385 | Bulk Product ce185152 | Electronics | $920.23 | 94 | ★ 2.3 | 2 | BULK-c9013676 |
| 11386 | Bulk Product 0613ad46 | Clothing | $885.59 | 336 | ★ 0.5 | 70 | BULK-6823422e |
| 11387 | Bulk Product 5aba0703 | Toys & Games | $555.18 | 180 | ★ 0.6 | 11 | BULK-455de0f8 |
| 11388 | Bulk Product d8817673 | Books | $353.14 | 367 | ★ 0.4 | 59 | BULK-5cacb792 |
| 11389 | Bulk Product 30da4b12 | Home & Garden | $25.25 | 354 | ★ 0.7 | 49 | BULK-f5d6bafd |
| 11390 | Bulk Product e7496266 | Clothing | $826.10 | 153 | ★ 4.6 | 89 | BULK-8cda7e1a |
| 11391 | Bulk Product 7af8553d | Toys & Games | $502.81 | 418 | ★ 4.0 | 92 | BULK-1d372053 |
| 11392 | Bulk Product 5edf3495 | Sports & Outdoors | $563.63 | 377 | ★ 4.5 | 45 | BULK-a55e522f |
| 11393 | Bulk Product 5d5c5481 | Clothing | $561.32 | 0 | ★ 0.1 | 42 | BULK-25a1673d |
| 11394 | Bulk Product 5c5640b0 | Home & Garden | $988.10 | 82 | ★ 5.0 | 79 | BULK-48d2acf1 |
| 11395 | Bulk Product 93a4cd14 | Electronics | $389.64 | 390 | ★ 3.4 | 71 | BULK-71e5592d |
| 11396 | Bulk Product 885b7047 | Toys & Games | $95.14 | 433 | ★ 4.2 | 83 | BULK-435bcd98 |
| 11397 | Bulk Product 6377559c | Sports & Outdoors | $596.95 | 147 | ★ 2.0 | 47 | BULK-c8f423fa |
| 11398 | Bulk Product 6932ed96 | Electronics | $60.82 | 428 | ★ 4.3 | 79 | BULK-9b3567bf |
| 11399 | Bulk Product b6b7f328 | Toys & Games | $286.92 | 214 | ★ 0.4 | 12 | BULK-956a998c |
| 11400 | Bulk Product 2002034c | Sports & Outdoors | $349.88 | 181 | ★ 2.9 | 65 | BULK-4eb0554e |
| 11401 | Bulk Product 41472b83 | Toys & Games | $270.65 | 48 | ★ 2.0 | 48 | BULK-44f30264 |
| 11402 | Bulk Product b219879d | Toys & Games | $38.81 | 165 | ★ 2.3 | 68 | BULK-b3549728 |
| 11403 | Bulk Product 9b7d1f1b | Clothing | $385.54 | 222 | ★ 4.2 | 93 | BULK-090b8a56 |
| 11404 | Bulk Product 84f035a5 | Home & Garden | $943.78 | 356 | ★ 0.3 | 22 | BULK-9f2ba502 |
| 11405 | Bulk Product 074e6506 | Clothing | $862.85 | 210 | ★ 3.1 | 6 | BULK-4fb72877 |
| 11406 | Bulk Product d7686f29 | Toys & Games | $625.63 | 324 | ★ 2.5 | 99 | BULK-d7333f8b |
| 11407 | Bulk Product 01e7ce90 | Books | $188.14 | 440 | ★ 4.0 | 95 | BULK-fbb69154 |
| 11408 | Bulk Product c610141b | Clothing | $155.46 | 393 | ★ 3.0 | 33 | BULK-1971351c |
| 11409 | Bulk Product 804f2eac | Sports & Outdoors | $886.77 | 91 | ★ 3.1 | 13 | BULK-2dfbe3c4 |
// 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
};
}