Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 20860 | Bulk Product 0f686c6e | Books | $162.33 | 43 | ★ 0.7 | 64 | BULK-4fa68861 |
| 20861 | Bulk Product c696535d | Home & Garden | $788.21 | 98 | ★ 4.8 | 64 | BULK-51fa13cb |
| 20862 | Bulk Product 7f944449 | Electronics | $759.16 | 371 | ★ 0.6 | 52 | BULK-8923c16b |
| 20863 | Bulk Product c7875edb | Clothing | $106.62 | 47 | ★ 0.3 | 93 | BULK-2b3a80e7 |
| 20864 | Bulk Product f461b67f | Sports & Outdoors | $286.85 | 375 | ★ 2.7 | 62 | BULK-2a399319 |
| 20865 | Bulk Product b30502e9 | Home & Garden | $362.42 | 407 | ★ 3.3 | 77 | BULK-1501c7ad |
| 20866 | Bulk Product d636f86c | Home & Garden | $748.91 | 376 | ★ 4.6 | 37 | BULK-0b5e9f5b |
| 20867 | Bulk Product 21c94dc1 | Clothing | $110.92 | 147 | ★ 0.7 | 54 | BULK-aed01231 |
| 20868 | Bulk Product 311a5c41 | Toys & Games | $942.85 | 335 | ★ 0.8 | 0 | BULK-732a18df |
| 20869 | Bulk Product 67d721b8 | Clothing | $407.12 | 338 | ★ 0.3 | 95 | BULK-0ce603e7 |
| 20870 | Bulk Product 6d5caca1 | Clothing | $970.98 | 472 | ★ 2.2 | 42 | BULK-1aa332bb |
| 20871 | Bulk Product b4a03213 | Clothing | $993.12 | 124 | ★ 1.8 | 34 | BULK-4c23fa7f |
| 20872 | Bulk Product c8e7889f | Books | $919.16 | 234 | ★ 1.7 | 19 | BULK-5383b730 |
| 20873 | Bulk Product eb313b08 | Sports & Outdoors | $567.99 | 22 | ★ 4.0 | 5 | BULK-7bc2c03d |
| 20874 | Bulk Product 21e75e3b | Home & Garden | $346.57 | 480 | ★ 3.2 | 32 | BULK-6a7a909c |
| 20875 | Bulk Product 590d8897 | Electronics | $756.69 | 333 | ★ 0.2 | 10 | BULK-7899e035 |
| 20876 | Bulk Product 5c4b3277 | Books | $412.95 | 226 | ★ 4.6 | 65 | BULK-5d3eee06 |
| 20877 | Bulk Product 9aa97665 | Home & Garden | $668.08 | 51 | ★ 1.2 | 43 | BULK-f697928f |
| 20878 | Bulk Product b8a05c8b | Home & Garden | $844.35 | 25 | ★ 3.3 | 12 | BULK-9cb3a724 |
| 20879 | Bulk Product 5c2c815a | Clothing | $495.47 | 46 | ★ 0.0 | 44 | BULK-e160581a |
| 20880 | Bulk Product 28597e07 | Sports & Outdoors | $539.34 | 16 | ★ 1.5 | 80 | BULK-f5309374 |
| 20881 | Bulk Product 5362ec97 | Electronics | $614.49 | 106 | ★ 0.9 | 45 | BULK-9f849fde |
| 20882 | Bulk Product cff2b403 | Clothing | $132.35 | 308 | ★ 1.2 | 74 | BULK-1457e25e |
| 20883 | Bulk Product 6dbb019a | Books | $621.77 | 356 | ★ 1.9 | 16 | BULK-b9711dbf |
| 20884 | Bulk Product adfadf29 | Sports & Outdoors | $946.63 | 214 | ★ 2.7 | 85 | BULK-d5bcc5b3 |
| 20885 | Bulk Product 8d8ee07b | Toys & Games | $440.26 | 284 | ★ 2.0 | 34 | BULK-fba6f2c3 |
| 20886 | Bulk Product f2484ae0 | Clothing | $553.52 | 223 | ★ 4.5 | 37 | BULK-c7093a5e |
| 20887 | Bulk Product b7b914f0 | Home & Garden | $469.26 | 454 | ★ 0.5 | 35 | BULK-ad6a4a93 |
| 20888 | Bulk Product c7c9d50e | Home & Garden | $350.10 | 427 | ★ 0.1 | 31 | BULK-9a06600f |
| 20889 | Bulk Product 7d392ff0 | Clothing | $454.32 | 29 | ★ 4.9 | 0 | BULK-bb6faa72 |
| 20890 | Bulk Product 33776001 | Electronics | $756.37 | 126 | ★ 4.9 | 20 | BULK-356c37cd |
| 20891 | Bulk Product 08e2de4f | Books | $121.92 | 97 | ★ 2.8 | 24 | BULK-3172cd3f |
| 20892 | Bulk Product 68ea8bc1 | Electronics | $884.80 | 493 | ★ 2.0 | 67 | BULK-34a197be |
| 20893 | Bulk Product fed089b5 | Sports & Outdoors | $948.02 | 20 | ★ 3.0 | 5 | BULK-4ffc8029 |
| 20894 | Bulk Product 9adda016 | Home & Garden | $988.96 | 173 | ★ 3.8 | 15 | BULK-e129b638 |
| 20895 | Bulk Product f50a21e9 | Books | $54.50 | 321 | ★ 4.6 | 68 | BULK-9c2a4206 |
| 20896 | Bulk Product 32e0f6bd | Books | $108.60 | 91 | ★ 2.1 | 84 | BULK-808022c0 |
| 20897 | Bulk Product 4cd4e3ca | Clothing | $577.45 | 455 | ★ 2.5 | 80 | BULK-312f6cf5 |
| 20898 | Bulk Product d5620d60 | Electronics | $851.20 | 475 | ★ 5.0 | 80 | BULK-8e1c459c |
| 20899 | Bulk Product ef33b27e | Home & Garden | $511.16 | 274 | ★ 3.6 | 17 | BULK-fc202c5b |
| 20900 | Bulk Product 47bdb920 | Sports & Outdoors | $701.26 | 415 | ★ 4.7 | 19 | BULK-4c19b3ba |
| 20901 | Bulk Product 20a071a3 | Electronics | $559.09 | 104 | ★ 2.8 | 86 | BULK-de51ceac |
| 20902 | Bulk Product dc04df9c | Sports & Outdoors | $124.08 | 231 | ★ 3.3 | 69 | BULK-b1b9f494 |
| 20903 | Bulk Product 648e2925 | Electronics | $67.08 | 83 | ★ 4.9 | 34 | BULK-87def16e |
| 20904 | Bulk Product 710e0f55 | Toys & Games | $686.58 | 226 | ★ 4.3 | 20 | BULK-bbda1c59 |
| 20905 | Bulk Product b61d2241 | Clothing | $474.74 | 72 | ★ 0.9 | 52 | BULK-9d2e989e |
| 20906 | Bulk Product 990b3bb3 | Books | $590.44 | 213 | ★ 1.8 | 48 | BULK-28314bf3 |
| 20907 | Bulk Product 418d0c58 | Sports & Outdoors | $606.64 | 265 | ★ 3.1 | 98 | BULK-58f98d56 |
| 20908 | Bulk Product ca74bf24 | Electronics | $295.91 | 103 | ★ 2.4 | 92 | BULK-0b2a7e9a |
| 20909 | Bulk Product bf71ae52 | Toys & Games | $265.30 | 127 | ★ 1.2 | 70 | BULK-386432f4 |
// 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
};
}