Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 11160 | Bulk Product 2f9fd318 | Clothing | $529.49 | 296 | ★ 4.6 | 53 | BULK-2d8655d8 |
| 11161 | Bulk Product 4bfd01ba | Home & Garden | $80.14 | 242 | ★ 3.8 | 21 | BULK-d61b886c |
| 11162 | Bulk Product 9d30be24 | Books | $393.55 | 224 | ★ 1.4 | 4 | BULK-4e42aacf |
| 11163 | Bulk Product 05796ea4 | Books | $327.41 | 386 | ★ 2.5 | 44 | BULK-a8f992ec |
| 11164 | Bulk Product c105760e | Home & Garden | $693.01 | 334 | ★ 4.4 | 47 | BULK-bc457b4b |
| 11165 | Bulk Product 60d2b0a8 | Electronics | $831.48 | 337 | ★ 0.3 | 39 | BULK-7e85fa26 |
| 11166 | Bulk Product f0c344d4 | Toys & Games | $393.80 | 84 | ★ 2.0 | 73 | BULK-57106ba6 |
| 11167 | Bulk Product 3104f3fc | Clothing | $673.76 | 428 | ★ 0.9 | 19 | BULK-4247b918 |
| 11168 | Bulk Product aaf771c9 | Books | $543.76 | 202 | ★ 1.8 | 48 | BULK-286b97de |
| 11169 | Bulk Product 85410302 | Electronics | $711.66 | 181 | ★ 3.5 | 64 | BULK-e1f6f83e |
| 11170 | Bulk Product 5d985c7b | Clothing | $313.65 | 419 | ★ 0.5 | 17 | BULK-2e6e0e6d |
| 11171 | Bulk Product 3f0e57d8 | Electronics | $695.05 | 354 | ★ 4.3 | 56 | BULK-2b04f93a |
| 11172 | Bulk Product 3ff96a7b | Toys & Games | $731.00 | 392 | ★ 1.1 | 20 | BULK-b3565e24 |
| 11173 | Bulk Product 013ca81e | Electronics | $309.03 | 112 | ★ 2.4 | 8 | BULK-0a89c5c3 |
| 11174 | Bulk Product c265d087 | Toys & Games | $890.38 | 433 | ★ 1.1 | 1 | BULK-651e3db6 |
| 11175 | Bulk Product 4051d86a | Home & Garden | $310.16 | 361 | ★ 1.8 | 67 | BULK-ab09abea |
| 11176 | Bulk Product 1ad39a6c | Sports & Outdoors | $288.56 | 177 | ★ 2.6 | 1 | BULK-4046e9e9 |
| 11177 | Bulk Product 92d51ef4 | Books | $619.20 | 151 | ★ 2.6 | 0 | BULK-6cc06a7e |
| 11178 | Bulk Product a1a8b8f7 | Home & Garden | $421.02 | 360 | ★ 2.8 | 82 | BULK-112b762a |
| 11179 | Bulk Product 60092219 | Sports & Outdoors | $122.79 | 170 | ★ 1.6 | 28 | BULK-bcfcfcde |
| 11180 | Bulk Product d4b9c578 | Home & Garden | $78.46 | 349 | ★ 5.0 | 0 | BULK-b12de2ef |
| 11181 | Bulk Product e1cffcc1 | Home & Garden | $124.67 | 134 | ★ 1.2 | 56 | BULK-4f6c4774 |
| 11182 | Bulk Product a9125faa | Electronics | $1,001.32 | 375 | ★ 3.1 | 21 | BULK-4ad2ac8a |
| 11183 | Bulk Product 7c471295 | Sports & Outdoors | $934.23 | 134 | ★ 2.3 | 13 | BULK-16652f76 |
| 11184 | Bulk Product 41c62568 | Clothing | $746.22 | 124 | ★ 2.5 | 22 | BULK-fcc583f4 |
| 11185 | Bulk Product 59d7e8b0 | Electronics | $496.47 | 329 | ★ 1.7 | 37 | BULK-c3bdaf15 |
| 11186 | Bulk Product 66fd03f3 | Toys & Games | $918.45 | 375 | ★ 1.0 | 84 | BULK-dd0c9df2 |
| 11187 | Bulk Product 2bcf0594 | Books | $881.49 | 438 | ★ 3.4 | 49 | BULK-264b0773 |
| 11188 | Bulk Product 99c873a9 | Electronics | $218.18 | 218 | ★ 0.3 | 13 | BULK-ee025786 |
| 11189 | Bulk Product 7bbd5783 | Clothing | $753.56 | 476 | ★ 4.6 | 28 | BULK-3d1a9c1e |
| 11190 | Bulk Product e07617dc | Home & Garden | $600.56 | 26 | ★ 2.7 | 26 | BULK-d90c68eb |
| 11191 | Bulk Product 75da477d | Books | $803.71 | 465 | ★ 3.5 | 94 | BULK-7f692ea6 |
| 11192 | Bulk Product 7e7a5229 | Electronics | $503.69 | 211 | ★ 2.5 | 53 | BULK-f97ee96f |
| 11193 | Bulk Product e0cba3c7 | Books | $262.33 | 479 | ★ 0.9 | 13 | BULK-5bedc8bd |
| 11194 | Bulk Product 93cf0345 | Toys & Games | $978.12 | 168 | ★ 4.4 | 58 | BULK-63a7b0fd |
| 11195 | Bulk Product 967d7e45 | Sports & Outdoors | $131.06 | 338 | ★ 0.8 | 12 | BULK-63098b45 |
| 11196 | Bulk Product a71558f1 | Books | $147.31 | 295 | ★ 0.2 | 92 | BULK-598e0e4c |
| 11197 | Bulk Product 2284e18c | Books | $133.22 | 44 | ★ 3.1 | 17 | BULK-9d2608fa |
| 11198 | Bulk Product c5ca4bde | Clothing | $987.69 | 311 | ★ 3.5 | 73 | BULK-641e714c |
| 11199 | Bulk Product 88cbc6fe | Books | $767.70 | 218 | ★ 2.0 | 43 | BULK-abc4337c |
| 11200 | Bulk Product aa74a910 | Home & Garden | $583.53 | 453 | ★ 3.6 | 95 | BULK-4d87b94b |
| 11201 | Bulk Product aaf6acb0 | Books | $304.02 | 389 | ★ 0.8 | 14 | BULK-60a29e55 |
| 11202 | Bulk Product e8902ddf | Sports & Outdoors | $364.19 | 156 | ★ 3.4 | 1 | BULK-21bb29cc |
| 11203 | Bulk Product 463e440e | Home & Garden | $53.49 | 405 | ★ 2.5 | 5 | BULK-6fc0a6cb |
| 11204 | Bulk Product da70cd0d | Home & Garden | $933.11 | 408 | ★ 0.0 | 66 | BULK-ebd6cbc4 |
| 11205 | Bulk Product 62fa20c8 | Electronics | $527.87 | 125 | ★ 0.4 | 73 | BULK-ecd7cb56 |
| 11206 | Bulk Product 64466b07 | Home & Garden | $942.49 | 411 | ★ 4.0 | 86 | BULK-58ef3f85 |
| 11207 | Bulk Product c1e2802d | Electronics | $858.46 | 105 | ★ 3.8 | 25 | BULK-386aa87a |
| 11208 | Bulk Product 64e14617 | Sports & Outdoors | $104.17 | 174 | ★ 3.7 | 37 | BULK-7527bfbf |
| 11209 | Bulk Product d8cc54c4 | Sports & Outdoors | $667.71 | 473 | ★ 4.0 | 94 | BULK-6e93da93 |
// 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
};
}