Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 19210 | Bulk Product f1d10253 | Home & Garden | $824.62 | 35 | ★ 0.0 | 87 | BULK-f7c6ef6e |
| 19211 | Bulk Product bbf28c06 | Sports & Outdoors | $718.98 | 375 | ★ 4.2 | 89 | BULK-44ff1bb2 |
| 19212 | Bulk Product 8723151d | Books | $512.48 | 27 | ★ 0.6 | 77 | BULK-7bbbe9c9 |
| 19213 | Bulk Product e3104ff2 | Books | $584.67 | 320 | ★ 4.1 | 80 | BULK-22c86b3b |
| 19214 | Bulk Product f1f7a11d | Home & Garden | $34.90 | 210 | ★ 4.3 | 21 | BULK-c48a388f |
| 19215 | Bulk Product 125c025f | Home & Garden | $887.00 | 465 | ★ 4.2 | 90 | BULK-5aeef953 |
| 19216 | Bulk Product 91c93043 | Books | $147.44 | 343 | ★ 2.4 | 44 | BULK-c5c62840 |
| 19217 | Bulk Product 6f1ebbf0 | Sports & Outdoors | $549.91 | 272 | ★ 1.6 | 69 | BULK-f660e173 |
| 19218 | Bulk Product 7125c00c | Sports & Outdoors | $376.46 | 41 | ★ 3.0 | 3 | BULK-0eb7af72 |
| 19219 | Bulk Product 985b5466 | Books | $888.74 | 37 | ★ 4.4 | 34 | BULK-ef036d7e |
| 19220 | Bulk Product 5dc40885 | Home & Garden | $207.15 | 386 | ★ 1.2 | 81 | BULK-84c8fd43 |
| 19221 | Bulk Product 2790fb30 | Toys & Games | $983.31 | 152 | ★ 2.2 | 6 | BULK-3c392630 |
| 19222 | Bulk Product f2f77aeb | Electronics | $601.39 | 285 | ★ 0.7 | 22 | BULK-44ed5709 |
| 19223 | Bulk Product 674c8838 | Books | $22.30 | 250 | ★ 2.1 | 99 | BULK-910076f5 |
| 19224 | Bulk Product 19a329db | Toys & Games | $310.89 | 231 | ★ 3.6 | 60 | BULK-29256ebc |
| 19225 | Bulk Product fd4a6d39 | Toys & Games | $565.93 | 210 | ★ 2.9 | 34 | BULK-dc721a92 |
| 19226 | Bulk Product 337b4db9 | Home & Garden | $911.20 | 74 | ★ 0.6 | 30 | BULK-1f15de4c |
| 19227 | Bulk Product dbea0343 | Clothing | $1,006.89 | 73 | ★ 3.6 | 28 | BULK-742ffaef |
| 19228 | Bulk Product 1b6a1d63 | Home & Garden | $454.28 | 356 | ★ 3.1 | 38 | BULK-a9b5bbfd |
| 19229 | Bulk Product 44346995 | Home & Garden | $931.87 | 218 | ★ 2.9 | 15 | BULK-c5e75502 |
| 19230 | Bulk Product acad4f32 | Electronics | $761.09 | 241 | ★ 4.9 | 20 | BULK-7d4a0f84 |
| 19231 | Bulk Product 7615ac85 | Home & Garden | $643.86 | 376 | ★ 3.3 | 33 | BULK-fa605a6e |
| 19232 | Bulk Product cd769df9 | Sports & Outdoors | $24.73 | 489 | ★ 4.7 | 64 | BULK-7c02ecac |
| 19233 | Bulk Product 22b79403 | Clothing | $276.20 | 163 | ★ 1.7 | 45 | BULK-4229b6d0 |
| 19234 | Bulk Product 35765ebe | Clothing | $834.41 | 355 | ★ 2.2 | 41 | BULK-3489d6e6 |
| 19235 | Bulk Product ecd4f206 | Books | $751.18 | 262 | ★ 1.8 | 41 | BULK-856079ae |
| 19236 | Bulk Product 98e97c74 | Sports & Outdoors | $805.50 | 312 | ★ 4.6 | 90 | BULK-14a2cf58 |
| 19237 | Bulk Product 9d748f2a | Clothing | $582.24 | 290 | ★ 1.2 | 28 | BULK-cf2cb175 |
| 19238 | Bulk Product 5395e62b | Books | $374.81 | 362 | ★ 4.9 | 38 | BULK-18b14f76 |
| 19239 | Bulk Product 12cbfd0b | Clothing | $575.07 | 263 | ★ 0.3 | 54 | BULK-dbb34544 |
| 19240 | Bulk Product 9c3928d7 | Home & Garden | $947.91 | 235 | ★ 0.7 | 75 | BULK-0412e3d4 |
| 19241 | Bulk Product 58f63144 | Home & Garden | $30.35 | 196 | ★ 1.3 | 32 | BULK-49a01eb4 |
| 19242 | Bulk Product f5494f29 | Electronics | $789.93 | 207 | ★ 1.7 | 17 | BULK-b457138a |
| 19243 | Bulk Product f2cfb645 | Books | $81.09 | 166 | ★ 4.3 | 99 | BULK-4e7c5112 |
| 19244 | Bulk Product 3d3e239e | Toys & Games | $614.27 | 168 | ★ 4.7 | 61 | BULK-ed67afe9 |
| 19245 | Bulk Product 6a47fc69 | Toys & Games | $41.68 | 138 | ★ 3.7 | 14 | BULK-3663f5ae |
| 19246 | Bulk Product dea1db5d | Electronics | $416.94 | 415 | ★ 1.9 | 63 | BULK-25ae51e5 |
| 19247 | Bulk Product 6f37295f | Home & Garden | $335.38 | 430 | ★ 1.3 | 42 | BULK-cc361e5d |
| 19248 | Bulk Product 001e2fdf | Home & Garden | $841.14 | 216 | ★ 2.7 | 71 | BULK-9ba9e5fe |
| 19249 | Bulk Product 1152afeb | Toys & Games | $354.41 | 55 | ★ 4.8 | 15 | BULK-d08ef04e |
| 19250 | Bulk Product 597fcd0a | Clothing | $676.58 | 170 | ★ 3.4 | 7 | BULK-2e5ec4cf |
| 19251 | Bulk Product 34e202bf | Clothing | $208.46 | 169 | ★ 3.9 | 22 | BULK-9630085a |
| 19252 | Bulk Product 1efc5f68 | Toys & Games | $923.43 | 446 | ★ 2.2 | 68 | BULK-1620c15b |
| 19253 | Bulk Product 970f4554 | Clothing | $608.66 | 267 | ★ 1.0 | 9 | BULK-6e021bda |
| 19254 | Bulk Product f2aa2e2e | Sports & Outdoors | $425.79 | 459 | ★ 3.3 | 68 | BULK-f2b14555 |
| 19255 | Bulk Product 1aa4f57e | Books | $629.61 | 359 | ★ 1.9 | 76 | BULK-baea32e2 |
| 19256 | Bulk Product e07d7d53 | Books | $188.87 | 296 | ★ 3.5 | 4 | BULK-cb9a6987 |
| 19257 | Bulk Product 6a8ae81d | Books | $749.65 | 492 | ★ 3.4 | 90 | BULK-81f038da |
| 19258 | Bulk Product c5fcb384 | Books | $523.57 | 390 | ★ 4.8 | 25 | BULK-a89d42ad |
| 19259 | Bulk Product 62458cd2 | Toys & Games | $783.47 | 442 | ★ 0.2 | 53 | BULK-05716cf3 |
// 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
};
}