Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 10860 | Bulk Product 65993236 | Home & Garden | $577.68 | 76 | ★ 0.7 | 50 | BULK-5c251abe |
| 10861 | Bulk Product c966849d | Books | $835.22 | 116 | ★ 4.5 | 36 | BULK-ff65bb11 |
| 10862 | Bulk Product a04e29f5 | Books | $151.42 | 430 | ★ 2.8 | 53 | BULK-8cc141d2 |
| 10863 | Bulk Product eb680c8b | Electronics | $700.34 | 196 | ★ 3.6 | 31 | BULK-656081ef |
| 10864 | Bulk Product dd8dbd0b | Books | $50.40 | 97 | ★ 3.3 | 29 | BULK-34ca2c8e |
| 10865 | Bulk Product 60563cfc | Clothing | $559.08 | 276 | ★ 4.2 | 3 | BULK-383e5823 |
| 10866 | Bulk Product b066bb2c | Books | $249.96 | 138 | ★ 4.9 | 70 | BULK-d1cf4891 |
| 10867 | Bulk Product d81fbad7 | Books | $787.70 | 240 | ★ 1.7 | 84 | BULK-407f3d34 |
| 10868 | Bulk Product aa168e82 | Clothing | $885.04 | 324 | ★ 3.4 | 5 | BULK-a3d18296 |
| 10869 | Bulk Product 4dc38997 | Toys & Games | $51.17 | 218 | ★ 1.4 | 53 | BULK-f739a3a4 |
| 10870 | Bulk Product 4539ad0c | Clothing | $109.24 | 396 | ★ 4.4 | 10 | BULK-e6a80e2d |
| 10871 | Bulk Product 518c03e3 | Electronics | $671.77 | 89 | ★ 4.1 | 55 | BULK-88af57f7 |
| 10872 | Bulk Product b72985c7 | Electronics | $405.32 | 155 | ★ 4.7 | 71 | BULK-85e544fb |
| 10873 | Bulk Product 04cfe8a0 | Clothing | $19.56 | 104 | ★ 0.9 | 15 | BULK-9540f363 |
| 10874 | Bulk Product fa2c3902 | Books | $633.24 | 264 | ★ 4.4 | 75 | BULK-8bd7526d |
| 10875 | Bulk Product 92030288 | Clothing | $784.54 | 464 | ★ 2.4 | 72 | BULK-8ff055e1 |
| 10876 | Bulk Product ba61691f | Clothing | $42.83 | 334 | ★ 3.4 | 63 | BULK-1e7356ad |
| 10877 | Bulk Product 86cbb55e | Home & Garden | $151.53 | 375 | ★ 3.0 | 50 | BULK-bee9953f |
| 10878 | Bulk Product b207294d | Home & Garden | $899.16 | 266 | ★ 2.3 | 96 | BULK-046bbf6f |
| 10879 | Bulk Product be8bc27d | Toys & Games | $219.96 | 246 | ★ 4.2 | 67 | BULK-304a53c6 |
| 10880 | Bulk Product 0d26f7b4 | Electronics | $737.39 | 65 | ★ 4.3 | 21 | BULK-ab4d5814 |
| 10881 | Bulk Product e4f7ec79 | Electronics | $622.10 | 65 | ★ 2.6 | 96 | BULK-fb0a17bd |
| 10882 | Bulk Product 61028479 | Sports & Outdoors | $90.67 | 336 | ★ 0.2 | 76 | BULK-64eb3a12 |
| 10883 | Bulk Product df0b73ba | Electronics | $152.36 | 413 | ★ 0.5 | 59 | BULK-0bc6a7fb |
| 10884 | Bulk Product a48bdd05 | Books | $161.72 | 427 | ★ 4.9 | 54 | BULK-de3c6ba0 |
| 10885 | Bulk Product 166182c5 | Toys & Games | $280.55 | 97 | ★ 1.7 | 1 | BULK-7bef77d9 |
| 10886 | Bulk Product f5154d69 | Electronics | $169.83 | 454 | ★ 2.1 | 47 | BULK-1200d122 |
| 10887 | Bulk Product 4b242dbe | Electronics | $316.81 | 401 | ★ 1.3 | 86 | BULK-2c2ba42e |
| 10888 | Bulk Product 77be996e | Books | $26.36 | 173 | ★ 4.8 | 3 | BULK-45c8acd0 |
| 10889 | Bulk Product a7184c4a | Home & Garden | $256.83 | 48 | ★ 2.3 | 18 | BULK-f10a7c24 |
| 10890 | Bulk Product 2137d4de | Toys & Games | $975.55 | 196 | ★ 0.2 | 28 | BULK-5f099cd2 |
| 10891 | Bulk Product 049f2f13 | Books | $705.42 | 422 | ★ 3.7 | 16 | BULK-417becce |
| 10892 | Bulk Product e4700946 | Books | $982.05 | 193 | ★ 4.2 | 95 | BULK-ab877b91 |
| 10893 | Bulk Product 24701881 | Home & Garden | $490.41 | 351 | ★ 0.1 | 92 | BULK-c9a7bbbd |
| 10894 | Bulk Product 13d427e7 | Sports & Outdoors | $910.97 | 235 | ★ 2.1 | 58 | BULK-c88b3152 |
| 10895 | Bulk Product a7a8c268 | Books | $475.21 | 439 | ★ 4.6 | 81 | BULK-6f44a104 |
| 10896 | Bulk Product f8f563b9 | Sports & Outdoors | $674.23 | 372 | ★ 3.7 | 78 | BULK-af5274e1 |
| 10897 | Bulk Product 0a731b68 | Electronics | $523.74 | 97 | ★ 4.8 | 18 | BULK-933bd54f |
| 10898 | Bulk Product 512c65bb | Clothing | $831.85 | 154 | ★ 2.9 | 91 | BULK-157bc089 |
| 10899 | Bulk Product a1396564 | Toys & Games | $366.46 | 393 | ★ 2.3 | 26 | BULK-4ead721f |
| 10900 | Bulk Product f7ecc6fa | Toys & Games | $716.50 | 363 | ★ 2.8 | 64 | BULK-fb394e11 |
| 10901 | Bulk Product 9723cc55 | Sports & Outdoors | $307.64 | 52 | ★ 4.0 | 31 | BULK-392d353d |
| 10902 | Bulk Product c3ecdbc2 | Home & Garden | $408.94 | 486 | ★ 4.3 | 14 | BULK-0a105060 |
| 10903 | Bulk Product c56e71b1 | Toys & Games | $106.00 | 379 | ★ 1.4 | 36 | BULK-fdf207f7 |
| 10904 | Bulk Product 71f9af9e | Home & Garden | $889.52 | 10 | ★ 4.8 | 57 | BULK-348dbeb3 |
| 10905 | Bulk Product d830a33e | Books | $439.69 | 375 | ★ 2.7 | 14 | BULK-460fce11 |
| 10906 | Bulk Product 6b4d0be1 | Clothing | $176.42 | 23 | ★ 2.7 | 13 | BULK-924a4995 |
| 10907 | Bulk Product b5ced554 | Home & Garden | $369.48 | 214 | ★ 1.6 | 17 | BULK-2ac66ac1 |
| 10908 | Bulk Product a42f70de | Electronics | $340.17 | 483 | ★ 0.7 | 74 | BULK-e57d3adb |
| 10909 | Bulk Product f51d6468 | Home & Garden | $297.11 | 385 | ★ 1.7 | 64 | BULK-dd4fc0db |
// 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
};
}