Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 13860 | Bulk Product 80ccfc95 | Sports & Outdoors | $60.32 | 364 | ★ 1.6 | 22 | BULK-17f5b899 |
| 13861 | Bulk Product 617cf603 | Sports & Outdoors | $44.57 | 497 | ★ 1.8 | 45 | BULK-bbb870ce |
| 13862 | Bulk Product 355e43fd | Home & Garden | $326.15 | 133 | ★ 2.0 | 34 | BULK-fde96166 |
| 13863 | Bulk Product a255bfd9 | Toys & Games | $655.96 | 417 | ★ 0.3 | 39 | BULK-ee7b7449 |
| 13864 | Bulk Product c235568c | Toys & Games | $946.21 | 87 | ★ 1.7 | 40 | BULK-3267fe72 |
| 13865 | Bulk Product 804c072a | Books | $185.77 | 461 | ★ 1.5 | 9 | BULK-0df3a9bc |
| 13866 | Bulk Product 7265478f | Books | $654.74 | 220 | ★ 0.1 | 73 | BULK-cf02278a |
| 13867 | Bulk Product 1f98b93f | Books | $596.54 | 243 | ★ 2.9 | 54 | BULK-40f8dcba |
| 13868 | Bulk Product 000871d8 | Sports & Outdoors | $148.50 | 151 | ★ 3.4 | 23 | BULK-a959e9b2 |
| 13869 | Bulk Product bf8afe46 | Sports & Outdoors | $630.77 | 188 | ★ 0.6 | 70 | BULK-4efe7fb5 |
| 13870 | Bulk Product e8cb7d87 | Electronics | $576.12 | 253 | ★ 3.5 | 69 | BULK-1cb53c22 |
| 13871 | Bulk Product edc936cf | Electronics | $990.78 | 460 | ★ 3.8 | 22 | BULK-510f13fd |
| 13872 | Bulk Product d7b8a7a8 | Home & Garden | $14.88 | 434 | ★ 0.2 | 8 | BULK-b71049e4 |
| 13873 | Bulk Product fdb2b16c | Sports & Outdoors | $224.17 | 429 | ★ 1.6 | 91 | BULK-32c2e448 |
| 13874 | Bulk Product fe8a149a | Toys & Games | $786.20 | 267 | ★ 2.9 | 68 | BULK-339da6c0 |
| 13875 | Bulk Product c3413daa | Sports & Outdoors | $821.36 | 451 | ★ 0.4 | 52 | BULK-24e04570 |
| 13876 | Bulk Product cb39fe1d | Home & Garden | $777.35 | 267 | ★ 3.9 | 46 | BULK-ef5ff991 |
| 13877 | Bulk Product 51383108 | Electronics | $461.09 | 354 | ★ 1.1 | 76 | BULK-88f9bc56 |
| 13878 | Bulk Product eaf0e28d | Electronics | $210.31 | 464 | ★ 3.5 | 26 | BULK-fcf95f65 |
| 13879 | Bulk Product ab0b4685 | Electronics | $794.59 | 494 | ★ 0.9 | 0 | BULK-b603999a |
| 13880 | Bulk Product 35cc0820 | Clothing | $767.35 | 187 | ★ 3.9 | 56 | BULK-ed45adee |
| 13881 | Bulk Product 30b15971 | Sports & Outdoors | $987.38 | 251 | ★ 4.4 | 12 | BULK-04bfa36f |
| 13882 | Bulk Product 126329fa | Sports & Outdoors | $386.82 | 84 | ★ 4.6 | 48 | BULK-75e887c8 |
| 13883 | Bulk Product 288bd7d7 | Clothing | $865.77 | 205 | ★ 1.9 | 29 | BULK-afaa6d63 |
| 13884 | Bulk Product c228a1c1 | Clothing | $392.79 | 40 | ★ 3.8 | 31 | BULK-f93fae0b |
| 13885 | Bulk Product c20ef2a2 | Toys & Games | $873.33 | 479 | ★ 3.5 | 92 | BULK-44a1a47c |
| 13886 | Bulk Product fc90a8da | Electronics | $460.24 | 381 | ★ 4.3 | 1 | BULK-8c682eda |
| 13887 | Bulk Product 48e8d26b | Toys & Games | $725.48 | 96 | ★ 0.4 | 96 | BULK-f816c345 |
| 13888 | Bulk Product 181da457 | Toys & Games | $204.31 | 180 | ★ 1.0 | 32 | BULK-d04372c6 |
| 13889 | Bulk Product e33fc251 | Home & Garden | $407.64 | 44 | ★ 0.2 | 71 | BULK-dabb1f94 |
| 13890 | Bulk Product caa53513 | Home & Garden | $560.92 | 466 | ★ 1.4 | 17 | BULK-28385895 |
| 13891 | Bulk Product d9dd0be8 | Books | $404.32 | 78 | ★ 1.0 | 89 | BULK-f13e0cc8 |
| 13892 | Bulk Product 7de42750 | Books | $749.30 | 38 | ★ 0.5 | 25 | BULK-ffc2942f |
| 13893 | Bulk Product 714ce970 | Electronics | $558.79 | 264 | ★ 0.2 | 89 | BULK-384ff538 |
| 13894 | Bulk Product 82cad77b | Home & Garden | $360.26 | 62 | ★ 2.4 | 6 | BULK-99d0b7fe |
| 13895 | Bulk Product 1c3dad2a | Clothing | $486.70 | 402 | ★ 1.4 | 60 | BULK-685bb0e1 |
| 13896 | Bulk Product c62ec527 | Books | $1,005.56 | 436 | ★ 1.4 | 25 | BULK-04a33c1a |
| 13897 | Bulk Product 6354fae9 | Home & Garden | $200.92 | 165 | ★ 0.7 | 2 | BULK-dda63b39 |
| 13898 | Bulk Product 0fce7e7d | Home & Garden | $205.12 | 351 | ★ 1.5 | 89 | BULK-da0ee5b3 |
| 13899 | Bulk Product c2a3e9f7 | Sports & Outdoors | $22.29 | 297 | ★ 0.2 | 34 | BULK-5a47b26c |
| 13900 | Bulk Product bb951751 | Home & Garden | $391.58 | 228 | ★ 3.7 | 85 | BULK-baca8827 |
| 13901 | Bulk Product ef62b3de | Books | $410.53 | 247 | ★ 2.7 | 68 | BULK-d65a4fd2 |
| 13902 | Bulk Product 9d3248f7 | Home & Garden | $248.24 | 474 | ★ 1.2 | 93 | BULK-1bdb8b7b |
| 13903 | Bulk Product 5ee6774c | Sports & Outdoors | $920.13 | 201 | ★ 3.9 | 90 | BULK-60561060 |
| 13904 | Bulk Product 895b6c25 | Electronics | $680.01 | 205 | ★ 1.9 | 42 | BULK-69867bd8 |
| 13905 | Bulk Product daa100b8 | Sports & Outdoors | $679.22 | 193 | ★ 3.1 | 53 | BULK-039cdc71 |
| 13906 | Bulk Product f96d8e04 | Clothing | $69.28 | 438 | ★ 0.1 | 2 | BULK-d58ff0ff |
| 13907 | Bulk Product c2a5cf22 | Sports & Outdoors | $663.00 | 281 | ★ 4.1 | 41 | BULK-922de3c3 |
| 13908 | Bulk Product f7ada5e3 | Sports & Outdoors | $750.13 | 161 | ★ 3.0 | 10 | BULK-667e2687 |
| 13909 | Bulk Product 3980b7d9 | Home & Garden | $55.67 | 183 | ★ 3.7 | 32 | BULK-ddc52753 |
// 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
};
}