Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 22060 | Bulk Product c150f470 | Sports & Outdoors | $695.64 | 480 | ★ 3.7 | 2 | BULK-8b0d1879 |
| 22061 | Bulk Product 67f2fbd8 | Books | $855.98 | 138 | ★ 4.8 | 89 | BULK-49cc7227 |
| 22062 | Bulk Product 62f35c13 | Books | $543.26 | 43 | ★ 0.4 | 60 | BULK-040facbc |
| 22063 | Bulk Product af2922e0 | Books | $694.80 | 21 | ★ 4.4 | 8 | BULK-99e36183 |
| 22064 | Bulk Product 160321c5 | Books | $207.57 | 104 | ★ 2.4 | 49 | BULK-058ba89d |
| 22065 | Bulk Product deab9181 | Sports & Outdoors | $13.69 | 331 | ★ 4.6 | 54 | BULK-4451b079 |
| 22066 | Bulk Product 1b7dd52c | Electronics | $501.09 | 492 | ★ 1.9 | 30 | BULK-e5abb2e6 |
| 22067 | Bulk Product 3551f226 | Clothing | $450.82 | 242 | ★ 4.8 | 60 | BULK-d69bf475 |
| 22068 | Bulk Product e111cfc7 | Toys & Games | $465.92 | 55 | ★ 0.7 | 84 | BULK-2c93c21f |
| 22069 | Bulk Product 1a11c887 | Sports & Outdoors | $476.68 | 161 | ★ 3.3 | 45 | BULK-b2847dc9 |
| 22070 | Bulk Product 72de26a3 | Toys & Games | $909.90 | 198 | ★ 2.2 | 97 | BULK-5bc9bc53 |
| 22071 | Bulk Product b2c3a377 | Home & Garden | $380.42 | 168 | ★ 1.2 | 18 | BULK-b70617b1 |
| 22072 | Bulk Product 6bd2093b | Clothing | $661.75 | 180 | ★ 3.0 | 46 | BULK-28885ece |
| 22073 | Bulk Product 10ff85a7 | Sports & Outdoors | $260.17 | 142 | ★ 1.3 | 97 | BULK-a6cc9ca0 |
| 22074 | Bulk Product 543c146c | Home & Garden | $992.78 | 482 | ★ 1.2 | 26 | BULK-13dbd33b |
| 22075 | Bulk Product b3dc5cfb | Sports & Outdoors | $113.36 | 82 | ★ 0.3 | 27 | BULK-b559fb64 |
| 22076 | Bulk Product 9b94f5d0 | Sports & Outdoors | $269.12 | 184 | ★ 0.5 | 33 | BULK-22d3073c |
| 22077 | Bulk Product 1ac7a55b | Clothing | $909.73 | 487 | ★ 4.4 | 10 | BULK-1e7cba61 |
| 22078 | Bulk Product f1cff124 | Clothing | $749.05 | 201 | ★ 2.0 | 41 | BULK-342108a2 |
| 22079 | Bulk Product 9e2663d6 | Books | $818.59 | 166 | ★ 3.5 | 65 | BULK-25e8728d |
| 22080 | Bulk Product 5fe1317b | Home & Garden | $955.22 | 70 | ★ 2.7 | 36 | BULK-aefd6bdf |
| 22081 | Bulk Product 8f2dd0d5 | Home & Garden | $36.20 | 87 | ★ 4.6 | 72 | BULK-4bcbd87e |
| 22082 | Bulk Product de95a406 | Home & Garden | $117.02 | 371 | ★ 0.4 | 9 | BULK-a15bfa63 |
| 22083 | Bulk Product ee6cda7d | Electronics | $1,006.44 | 23 | ★ 2.2 | 76 | BULK-5ffab938 |
| 22084 | Bulk Product ac554675 | Books | $71.53 | 31 | ★ 0.6 | 94 | BULK-292c7fc3 |
| 22085 | Bulk Product 0c226490 | Clothing | $214.92 | 61 | ★ 3.1 | 32 | BULK-1f153c8d |
| 22086 | Bulk Product 06bc8963 | Electronics | $286.56 | 71 | ★ 2.7 | 38 | BULK-adb208d0 |
| 22087 | Bulk Product 21a54092 | Clothing | $239.00 | 331 | ★ 4.1 | 30 | BULK-a1992db2 |
| 22088 | Bulk Product f8da858a | Clothing | $182.17 | 404 | ★ 4.1 | 15 | BULK-9429a0c9 |
| 22089 | Bulk Product e37f7f57 | Books | $1,002.18 | 286 | ★ 0.7 | 2 | BULK-3ff0a52f |
| 22090 | Bulk Product 8245d1ab | Home & Garden | $730.36 | 15 | ★ 4.7 | 49 | BULK-3bf88206 |
| 22091 | Bulk Product 35f8aab8 | Home & Garden | $283.02 | 129 | ★ 4.3 | 62 | BULK-6eaccb23 |
| 22092 | Bulk Product 5e57e4db | Sports & Outdoors | $867.61 | 338 | ★ 3.0 | 4 | BULK-acd4c7c8 |
| 22093 | Bulk Product 338d5ba6 | Electronics | $510.04 | 92 | ★ 0.6 | 99 | BULK-7bd3cf8c |
| 22094 | Bulk Product f4d6bfd7 | Books | $147.64 | 345 | ★ 4.3 | 15 | BULK-ab51683a |
| 22095 | Bulk Product f6ca3ef5 | Toys & Games | $81.53 | 284 | ★ 0.5 | 52 | BULK-a13ffe26 |
| 22096 | Bulk Product c2b5e31b | Home & Garden | $399.17 | 488 | ★ 4.9 | 83 | BULK-7fcf3c50 |
| 22097 | Bulk Product 1b0a4648 | Toys & Games | $129.74 | 146 | ★ 2.2 | 40 | BULK-83dd3eb6 |
| 22098 | Bulk Product 6119755a | Electronics | $218.74 | 226 | ★ 2.8 | 99 | BULK-b10bf49b |
| 22099 | Bulk Product ecda17a3 | Home & Garden | $1,005.98 | 197 | ★ 4.0 | 45 | BULK-fafe0401 |
| 22100 | Bulk Product a4260607 | Sports & Outdoors | $915.77 | 7 | ★ 3.4 | 15 | BULK-1591afdc |
| 22101 | Bulk Product 26e9c53e | Books | $258.17 | 433 | ★ 0.2 | 9 | BULK-32e09fc3 |
| 22102 | Bulk Product f575d9b9 | Toys & Games | $791.37 | 93 | ★ 2.9 | 12 | BULK-262d1d69 |
| 22103 | Bulk Product a5bc50cd | Clothing | $664.62 | 72 | ★ 2.5 | 91 | BULK-a4968f72 |
| 22104 | Bulk Product 3e240db3 | Electronics | $545.01 | 61 | ★ 4.4 | 16 | BULK-157ab908 |
| 22105 | Bulk Product 21033939 | Clothing | $458.18 | 28 | ★ 4.8 | 43 | BULK-0f0196ee |
| 22106 | Bulk Product 55f038fd | Home & Garden | $165.75 | 130 | ★ 3.6 | 81 | BULK-9aa2230e |
| 22107 | Bulk Product b0b434a9 | Toys & Games | $782.44 | 453 | ★ 2.7 | 34 | BULK-e4285e6f |
| 22108 | Bulk Product d674d2fc | Sports & Outdoors | $160.69 | 240 | ★ 3.5 | 41 | BULK-d9a7af8d |
| 22109 | Bulk Product 1a003907 | Clothing | $739.35 | 402 | ★ 1.2 | 50 | BULK-80b0b5c7 |
// 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
};
}