Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 9510 | Bulk Product 2f370073 | Sports & Outdoors | $858.80 | 289 | ★ 1.9 | 57 | BULK-96bd1531 |
| 9511 | Bulk Product d601de6b | Sports & Outdoors | $551.25 | 107 | ★ 3.9 | 6 | BULK-253c1c53 |
| 9512 | Bulk Product b1218bba | Clothing | $923.02 | 404 | ★ 1.2 | 62 | BULK-25c5cd27 |
| 9513 | Bulk Product f06e57bb | Books | $319.72 | 479 | ★ 4.0 | 49 | BULK-cf6e0ec9 |
| 9514 | Bulk Product 6fc8af93 | Sports & Outdoors | $866.30 | 185 | ★ 0.9 | 11 | BULK-9e2276c6 |
| 9515 | Bulk Product a3f21f50 | Home & Garden | $816.81 | 388 | ★ 1.6 | 64 | BULK-5583f58b |
| 9516 | Bulk Product 762f5331 | Clothing | $134.61 | 481 | ★ 2.9 | 10 | BULK-0292a66e |
| 9517 | Bulk Product f66b25ba | Toys & Games | $488.82 | 388 | ★ 3.5 | 77 | BULK-38093f5e |
| 9518 | Bulk Product 124d5bd5 | Electronics | $816.41 | 32 | ★ 0.4 | 45 | BULK-8673cdc1 |
| 9519 | Bulk Product c891c469 | Electronics | $280.95 | 131 | ★ 0.1 | 30 | BULK-ad1cbda0 |
| 9520 | Bulk Product 312d0349 | Books | $492.69 | 142 | ★ 2.1 | 95 | BULK-e2f6563c |
| 9521 | Bulk Product 77167b42 | Toys & Games | $209.07 | 416 | ★ 1.4 | 82 | BULK-04e3b35e |
| 9522 | Bulk Product c14a0829 | Home & Garden | $940.90 | 336 | ★ 3.8 | 30 | BULK-8239122b |
| 9523 | Bulk Product b685e84e | Books | $223.06 | 180 | ★ 3.5 | 30 | BULK-198bc4c4 |
| 9524 | Bulk Product 073734e6 | Sports & Outdoors | $376.39 | 336 | ★ 3.4 | 5 | BULK-7ee7da71 |
| 9525 | Bulk Product 1e2d2fdf | Toys & Games | $991.24 | 335 | ★ 0.9 | 89 | BULK-67417637 |
| 9526 | Bulk Product f0f03a9a | Home & Garden | $149.33 | 495 | ★ 1.6 | 58 | BULK-18a999d7 |
| 9527 | Bulk Product af0174dc | Electronics | $846.43 | 90 | ★ 3.9 | 89 | BULK-27823917 |
| 9528 | Bulk Product 611b0d75 | Toys & Games | $489.16 | 342 | ★ 2.3 | 66 | BULK-3356e694 |
| 9529 | Bulk Product 080014fd | Books | $276.06 | 213 | ★ 0.3 | 5 | BULK-3527087d |
| 9530 | Bulk Product 3bd47a39 | Clothing | $138.70 | 120 | ★ 2.5 | 25 | BULK-e3845444 |
| 9531 | Bulk Product d6e136a2 | Home & Garden | $779.63 | 180 | ★ 0.5 | 82 | BULK-2b433947 |
| 9532 | Bulk Product 4f26f26b | Home & Garden | $328.28 | 238 | ★ 4.4 | 45 | BULK-70570a9c |
| 9533 | Bulk Product a10623bf | Books | $78.38 | 183 | ★ 0.4 | 28 | BULK-777f91f5 |
| 9534 | Bulk Product e3ab1177 | Books | $728.61 | 424 | ★ 3.9 | 16 | BULK-3a5f1777 |
| 9535 | Bulk Product d408d893 | Sports & Outdoors | $37.37 | 185 | ★ 3.9 | 45 | BULK-d12a9cf4 |
| 9536 | Bulk Product cf3d0c7e | Sports & Outdoors | $513.82 | 250 | ★ 3.5 | 37 | BULK-91203bfb |
| 9537 | Bulk Product 5f64cee3 | Clothing | $240.40 | 430 | ★ 1.2 | 17 | BULK-ccad1dd0 |
| 9538 | Bulk Product 4e4c3875 | Toys & Games | $322.48 | 219 | ★ 4.6 | 33 | BULK-78a82bfa |
| 9539 | Bulk Product 83289371 | Toys & Games | $992.38 | 295 | ★ 1.9 | 27 | BULK-fada6281 |
| 9540 | Bulk Product ef29588e | Sports & Outdoors | $41.05 | 374 | ★ 2.6 | 25 | BULK-28dc0d9f |
| 9541 | Bulk Product f324c6cf | Home & Garden | $544.03 | 99 | ★ 1.0 | 51 | BULK-f49751a5 |
| 9542 | Bulk Product 4689f975 | Books | $122.54 | 76 | ★ 2.9 | 69 | BULK-544203af |
| 9543 | Bulk Product 12c06e03 | Toys & Games | $70.32 | 6 | ★ 2.9 | 15 | BULK-b1b58529 |
| 9544 | Bulk Product 28f35626 | Clothing | $715.94 | 200 | ★ 2.0 | 27 | BULK-ac6ac2a6 |
| 9545 | Bulk Product c5e5e796 | Electronics | $244.94 | 234 | ★ 3.8 | 17 | BULK-90144b30 |
| 9546 | Bulk Product e9ca0fbf | Toys & Games | $511.99 | 313 | ★ 0.5 | 38 | BULK-90be0f5b |
| 9547 | Bulk Product 3a218c69 | Sports & Outdoors | $88.02 | 224 | ★ 2.9 | 82 | BULK-473544ce |
| 9548 | Bulk Product e7445a4b | Books | $550.24 | 125 | ★ 1.3 | 97 | BULK-def9a83b |
| 9549 | Bulk Product 35087bda | Toys & Games | $651.08 | 212 | ★ 4.1 | 89 | BULK-72eea28b |
| 9550 | Bulk Product 26d8aa90 | Clothing | $289.51 | 285 | ★ 2.7 | 47 | BULK-ac39c7b9 |
| 9551 | Bulk Product f2ed0eb8 | Home & Garden | $951.84 | 124 | ★ 1.5 | 65 | BULK-2136c8e9 |
| 9552 | Bulk Product b54d8c9a | Sports & Outdoors | $16.09 | 428 | ★ 4.7 | 40 | BULK-131f2096 |
| 9553 | Bulk Product 6f0297d0 | Sports & Outdoors | $559.22 | 430 | ★ 4.1 | 64 | BULK-6afc468b |
| 9554 | Bulk Product fc683abb | Home & Garden | $73.75 | 201 | ★ 3.5 | 32 | BULK-662b081e |
| 9555 | Bulk Product 3578cfb7 | Home & Garden | $985.62 | 170 | ★ 0.1 | 87 | BULK-c42f4148 |
| 9556 | Bulk Product 103eb758 | Toys & Games | $545.38 | 415 | ★ 4.2 | 19 | BULK-50a619ee |
| 9557 | Bulk Product 79dd15c3 | Books | $476.25 | 165 | ★ 4.5 | 62 | BULK-c7a6e166 |
| 9558 | Bulk Product f1f991dd | Home & Garden | $827.93 | 291 | ★ 0.1 | 38 | BULK-39fb5c8b |
| 9559 | Bulk Product 648d1281 | Toys & Games | $662.64 | 39 | ★ 1.9 | 18 | BULK-c5332d4f |
// 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
};
}