Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 21310 | Bulk Product 89ee78da | Home & Garden | $395.72 | 431 | ★ 2.5 | 56 | BULK-0b5819a0 |
| 21311 | Bulk Product c69c6545 | Toys & Games | $297.83 | 190 | ★ 4.7 | 32 | BULK-3b83f1c1 |
| 21312 | Bulk Product 3933463d | Clothing | $741.59 | 53 | ★ 0.5 | 59 | BULK-33448587 |
| 21313 | Bulk Product c44d5010 | Sports & Outdoors | $251.80 | 113 | ★ 1.7 | 12 | BULK-141fd33f |
| 21314 | Bulk Product 4c85051c | Home & Garden | $436.48 | 119 | ★ 4.4 | 11 | BULK-bf858d65 |
| 21315 | Bulk Product 97ce95e2 | Toys & Games | $376.86 | 189 | ★ 2.5 | 59 | BULK-8f9e9eaa |
| 21316 | Bulk Product ab903128 | Home & Garden | $175.71 | 142 | ★ 2.0 | 79 | BULK-01441b20 |
| 21317 | Bulk Product d34325e4 | Sports & Outdoors | $365.61 | 208 | ★ 1.7 | 1 | BULK-76a56261 |
| 21318 | Bulk Product 382ab194 | Toys & Games | $690.26 | 248 | ★ 3.6 | 88 | BULK-e3eee91f |
| 21319 | Bulk Product 81278d60 | Books | $116.94 | 401 | ★ 3.7 | 2 | BULK-12462db7 |
| 21320 | Bulk Product a28440b9 | Home & Garden | $98.17 | 333 | ★ 4.1 | 33 | BULK-3a0a4854 |
| 21321 | Bulk Product e2007a45 | Sports & Outdoors | $625.97 | 110 | ★ 0.3 | 4 | BULK-64a189b3 |
| 21322 | Bulk Product ad41577d | Home & Garden | $425.07 | 422 | ★ 3.5 | 37 | BULK-4992b541 |
| 21323 | Bulk Product ea0a465b | Toys & Games | $93.33 | 238 | ★ 0.0 | 66 | BULK-0292beeb |
| 21324 | Bulk Product ba7aab5a | Home & Garden | $756.58 | 49 | ★ 2.6 | 47 | BULK-c9feb4aa |
| 21325 | Bulk Product 14fb675b | Clothing | $421.91 | 414 | ★ 3.2 | 16 | BULK-d22d2080 |
| 21326 | Bulk Product adea3cae | Books | $1,006.59 | 193 | ★ 2.3 | 53 | BULK-99a0ae95 |
| 21327 | Bulk Product 1d46404a | Electronics | $184.82 | 401 | ★ 0.6 | 84 | BULK-4d7fcd09 |
| 21328 | Bulk Product 582e250e | Home & Garden | $902.42 | 374 | ★ 2.6 | 77 | BULK-878ed636 |
| 21329 | Bulk Product fa7647c9 | Electronics | $204.77 | 56 | ★ 1.4 | 46 | BULK-b232dbc7 |
| 21330 | Bulk Product 918768ff | Sports & Outdoors | $942.07 | 333 | ★ 2.6 | 75 | BULK-1a2a6bf0 |
| 21331 | Bulk Product c0a53f2b | Sports & Outdoors | $31.58 | 154 | ★ 4.8 | 97 | BULK-62d3f3de |
| 21332 | Bulk Product 6b74bb29 | Books | $824.97 | 386 | ★ 2.3 | 24 | BULK-4fb9679b |
| 21333 | Bulk Product 9ebecf1f | Toys & Games | $325.48 | 189 | ★ 1.4 | 3 | BULK-f8696758 |
| 21334 | Bulk Product b462791e | Sports & Outdoors | $136.33 | 77 | ★ 3.8 | 77 | BULK-8a05690c |
| 21335 | Bulk Product 4a7435d6 | Toys & Games | $334.31 | 423 | ★ 0.0 | 80 | BULK-d0d5ec79 |
| 21336 | Bulk Product 82debedc | Books | $442.71 | 40 | ★ 4.2 | 85 | BULK-f2004a89 |
| 21337 | Bulk Product 44633075 | Sports & Outdoors | $218.80 | 0 | ★ 1.6 | 23 | BULK-a56add78 |
| 21338 | Bulk Product 0a0cfdab | Toys & Games | $896.28 | 178 | ★ 3.5 | 66 | BULK-2c8b6cd6 |
| 21339 | Bulk Product d464e0cb | Home & Garden | $850.61 | 408 | ★ 4.4 | 51 | BULK-0b26daea |
| 21340 | Bulk Product eeac50a4 | Clothing | $635.28 | 468 | ★ 2.1 | 40 | BULK-77c2d6af |
| 21341 | Bulk Product 03a1cff6 | Home & Garden | $403.62 | 264 | ★ 1.1 | 65 | BULK-a2f578a4 |
| 21342 | Bulk Product 58cccdd0 | Clothing | $346.46 | 192 | ★ 3.3 | 41 | BULK-cea4a9de |
| 21343 | Bulk Product fc2fa900 | Home & Garden | $957.00 | 219 | ★ 3.7 | 49 | BULK-4c5c3ac7 |
| 21344 | Bulk Product 9ef779d5 | Books | $961.52 | 219 | ★ 0.2 | 30 | BULK-3bb6f4d2 |
| 21345 | Bulk Product 7778876c | Toys & Games | $361.30 | 293 | ★ 4.6 | 82 | BULK-6310f329 |
| 21346 | Bulk Product 534ae3ca | Home & Garden | $394.85 | 99 | ★ 1.0 | 84 | BULK-ad8897d3 |
| 21347 | Bulk Product 6eef0972 | Clothing | $923.85 | 29 | ★ 4.0 | 96 | BULK-1b37f381 |
| 21348 | Bulk Product 4fd16dcf | Home & Garden | $756.28 | 409 | ★ 1.3 | 63 | BULK-6e4048e8 |
| 21349 | Bulk Product e6ab774a | Clothing | $518.84 | 148 | ★ 4.5 | 14 | BULK-67325066 |
| 21350 | Bulk Product fc7a1748 | Electronics | $97.97 | 481 | ★ 4.3 | 92 | BULK-334b42fe |
| 21351 | Bulk Product 54ae015d | Books | $76.12 | 374 | ★ 3.3 | 41 | BULK-1afd9ed4 |
| 21352 | Bulk Product d0f9b731 | Toys & Games | $137.29 | 222 | ★ 0.6 | 46 | BULK-196a3ddd |
| 21353 | Bulk Product 82289373 | Electronics | $933.68 | 329 | ★ 3.5 | 18 | BULK-86fa1b7a |
| 21354 | Bulk Product 546f16ea | Toys & Games | $263.39 | 83 | ★ 0.8 | 81 | BULK-8c767dd2 |
| 21355 | Bulk Product 6065ac58 | Home & Garden | $146.82 | 336 | ★ 2.8 | 30 | BULK-d6183bf9 |
| 21356 | Bulk Product a569d580 | Home & Garden | $847.82 | 476 | ★ 0.1 | 67 | BULK-669dc52d |
| 21357 | Bulk Product 2981cd23 | Toys & Games | $85.34 | 134 | ★ 3.0 | 52 | BULK-bbc2c291 |
| 21358 | Bulk Product 6696cc3c | Electronics | $143.14 | 69 | ★ 3.9 | 98 | BULK-3c87bbf4 |
| 21359 | Bulk Product 1af71997 | Sports & Outdoors | $746.26 | 407 | ★ 3.3 | 57 | BULK-d183b26a |
// 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
};
}