Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 13110 | Bulk Product ab4d32a2 | Electronics | $856.84 | 177 | ★ 2.6 | 96 | BULK-e1500b8f |
| 13111 | Bulk Product a9b5ad59 | Clothing | $379.47 | 151 | ★ 1.0 | 39 | BULK-86ffb339 |
| 13112 | Bulk Product b89f0ffe | Sports & Outdoors | $19.98 | 403 | ★ 2.9 | 84 | BULK-67be35e7 |
| 13113 | Bulk Product ddaf8d2e | Books | $575.96 | 398 | ★ 1.9 | 43 | BULK-09c01041 |
| 13114 | Bulk Product f07ed1e2 | Sports & Outdoors | $93.96 | 408 | ★ 0.3 | 18 | BULK-3b8371f5 |
| 13115 | Bulk Product 0b868846 | Sports & Outdoors | $970.00 | 215 | ★ 1.9 | 79 | BULK-2e272fc9 |
| 13116 | Bulk Product 7a0fa1cd | Books | $357.48 | 103 | ★ 2.4 | 48 | BULK-faa8ec39 |
| 13117 | Bulk Product ccc42233 | Home & Garden | $479.55 | 75 | ★ 0.6 | 92 | BULK-6f68b987 |
| 13118 | Bulk Product 14af09c2 | Sports & Outdoors | $799.47 | 23 | ★ 1.4 | 87 | BULK-8cd31d9d |
| 13119 | Bulk Product 7113ea85 | Books | $125.63 | 252 | ★ 0.1 | 37 | BULK-cb7a2de0 |
| 13120 | Bulk Product 48d009db | Home & Garden | $633.05 | 93 | ★ 0.7 | 48 | BULK-61c9e743 |
| 13121 | Bulk Product 889070ce | Sports & Outdoors | $392.20 | 217 | ★ 0.7 | 16 | BULK-961bbb93 |
| 13122 | Bulk Product 3bf8db3e | Toys & Games | $280.16 | 181 | ★ 3.0 | 14 | BULK-dcf74007 |
| 13123 | Bulk Product feadde2a | Electronics | $482.75 | 241 | ★ 4.1 | 94 | BULK-be8544b4 |
| 13124 | Bulk Product 4d59da5c | Sports & Outdoors | $407.64 | 425 | ★ 3.0 | 78 | BULK-2516bdfc |
| 13125 | Bulk Product 96bbc737 | Home & Garden | $956.74 | 196 | ★ 2.5 | 79 | BULK-5fd623b8 |
| 13126 | Bulk Product 1378dfdb | Home & Garden | $722.06 | 55 | ★ 2.2 | 63 | BULK-dab2297b |
| 13127 | Bulk Product 0c8b7d2b | Electronics | $108.44 | 212 | ★ 3.8 | 57 | BULK-90ee7aff |
| 13128 | Bulk Product 1219c1a1 | Home & Garden | $139.79 | 396 | ★ 3.6 | 78 | BULK-c63eca71 |
| 13129 | Bulk Product b41e241d | Sports & Outdoors | $247.85 | 58 | ★ 0.6 | 12 | BULK-0284a9c5 |
| 13130 | Bulk Product e6beb681 | Toys & Games | $16.01 | 46 | ★ 2.6 | 56 | BULK-9d464b04 |
| 13131 | Bulk Product 0f7ab2bd | Books | $212.29 | 438 | ★ 4.3 | 42 | BULK-7db00d62 |
| 13132 | Bulk Product 6445c66b | Sports & Outdoors | $628.39 | 353 | ★ 4.4 | 37 | BULK-5a87c5ad |
| 13133 | Bulk Product 87683d6e | Electronics | $681.96 | 306 | ★ 3.5 | 45 | BULK-7304e6af |
| 13134 | Bulk Product fd86aca3 | Toys & Games | $905.40 | 160 | ★ 3.1 | 31 | BULK-deb18058 |
| 13135 | Bulk Product ab842db9 | Toys & Games | $973.26 | 441 | ★ 1.9 | 60 | BULK-5aa54c6b |
| 13136 | Bulk Product 29f6ec19 | Books | $59.56 | 475 | ★ 3.2 | 15 | BULK-ed6c1ffa |
| 13137 | Bulk Product afb87fe3 | Books | $23.52 | 298 | ★ 1.2 | 29 | BULK-3ed94796 |
| 13138 | Bulk Product 1c101f60 | Sports & Outdoors | $888.04 | 473 | ★ 4.7 | 98 | BULK-e9f0d88e |
| 13139 | Bulk Product 52a968ae | Clothing | $152.07 | 258 | ★ 4.9 | 47 | BULK-e9d2271c |
| 13140 | Bulk Product 147424c4 | Home & Garden | $418.27 | 349 | ★ 0.2 | 75 | BULK-694cd527 |
| 13141 | Bulk Product 48519364 | Electronics | $236.55 | 457 | ★ 3.2 | 33 | BULK-567d3a8c |
| 13142 | Bulk Product 837bf542 | Home & Garden | $703.87 | 291 | ★ 4.5 | 67 | BULK-1b07bd7f |
| 13143 | Bulk Product 8600084c | Home & Garden | $587.62 | 115 | ★ 3.0 | 52 | BULK-fd3526bb |
| 13144 | Bulk Product d41bfe3c | Toys & Games | $307.58 | 184 | ★ 3.7 | 51 | BULK-2ae9b87d |
| 13145 | Bulk Product 38406174 | Books | $471.88 | 454 | ★ 3.2 | 34 | BULK-00673b36 |
| 13146 | Bulk Product a0fa0001 | Electronics | $752.35 | 438 | ★ 0.5 | 4 | BULK-7f5ccae8 |
| 13147 | Bulk Product d924bf66 | Clothing | $454.92 | 221 | ★ 3.9 | 79 | BULK-7ef0ae50 |
| 13148 | Bulk Product bf13630f | Electronics | $391.03 | 60 | ★ 4.2 | 97 | BULK-a12fe0e2 |
| 13149 | Bulk Product 8c0b5de1 | Home & Garden | $978.23 | 360 | ★ 2.6 | 72 | BULK-1f66ce86 |
| 13150 | Bulk Product 6d2abb96 | Electronics | $367.78 | 237 | ★ 1.8 | 20 | BULK-4114543c |
| 13151 | Bulk Product 06507747 | Electronics | $239.64 | 218 | ★ 3.5 | 31 | BULK-45a4b1f2 |
| 13152 | Bulk Product 667dc924 | Toys & Games | $441.64 | 329 | ★ 4.7 | 97 | BULK-beca9e81 |
| 13153 | Bulk Product 72e5536f | Clothing | $668.17 | 406 | ★ 4.8 | 56 | BULK-f8d03b49 |
| 13154 | Bulk Product 3913ab40 | Sports & Outdoors | $197.25 | 451 | ★ 0.5 | 46 | BULK-ea66b487 |
| 13155 | Bulk Product 43ef43f8 | Books | $681.48 | 206 | ★ 3.9 | 26 | BULK-86e96867 |
| 13156 | Bulk Product a65b3697 | Electronics | $782.74 | 121 | ★ 1.0 | 95 | BULK-c1420016 |
| 13157 | Bulk Product d3211524 | Electronics | $349.07 | 251 | ★ 0.8 | 6 | BULK-7ffddcb0 |
| 13158 | Bulk Product 14175222 | Electronics | $409.69 | 156 | ★ 0.6 | 84 | BULK-c3eb3f87 |
| 13159 | Bulk Product b9dfd973 | Sports & Outdoors | $91.00 | 177 | ★ 3.2 | 48 | BULK-d2ed8028 |
// 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
};
}