Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 9610 | Bulk Product 0cbf4949 | Sports & Outdoors | $952.00 | 163 | ★ 3.1 | 62 | BULK-ce41aa86 |
| 9611 | Bulk Product 9dfe51af | Electronics | $279.85 | 277 | ★ 1.0 | 62 | BULK-b332fe96 |
| 9612 | Bulk Product 946ab549 | Home & Garden | $881.78 | 323 | ★ 1.9 | 72 | BULK-c1e59f4b |
| 9613 | Bulk Product c502e40e | Electronics | $610.43 | 478 | ★ 4.6 | 27 | BULK-6e6172b3 |
| 9614 | Bulk Product 1a51b0bd | Toys & Games | $507.46 | 172 | ★ 1.9 | 25 | BULK-5989af0b |
| 9615 | Bulk Product e61da4a2 | Sports & Outdoors | $868.82 | 423 | ★ 0.8 | 78 | BULK-220fc2af |
| 9616 | Bulk Product 2e00664e | Home & Garden | $869.55 | 305 | ★ 1.6 | 58 | BULK-1b3e6b17 |
| 9617 | Bulk Product 3d9260dc | Home & Garden | $809.72 | 164 | ★ 0.5 | 12 | BULK-aa955800 |
| 9618 | Bulk Product 57128f37 | Electronics | $879.57 | 291 | ★ 1.5 | 54 | BULK-802a6713 |
| 9619 | Bulk Product 9a0092c7 | Electronics | $421.82 | 238 | ★ 0.5 | 66 | BULK-5f13a9b4 |
| 9620 | Bulk Product 700889d4 | Electronics | $565.75 | 475 | ★ 1.8 | 75 | BULK-a670ce9f |
| 9621 | Bulk Product f4650374 | Clothing | $451.28 | 152 | ★ 4.5 | 84 | BULK-1990a7d0 |
| 9622 | Bulk Product bf56a68f | Books | $764.29 | 139 | ★ 1.5 | 9 | BULK-376c6e34 |
| 9623 | Bulk Product 401c3f2d | Home & Garden | $269.16 | 228 | ★ 3.3 | 66 | BULK-fe43944e |
| 9624 | Bulk Product d0b8a6c4 | Sports & Outdoors | $696.17 | 240 | ★ 3.0 | 44 | BULK-efcb504b |
| 9625 | Bulk Product bc6a0450 | Home & Garden | $446.44 | 171 | ★ 2.3 | 65 | BULK-657c04cb |
| 9626 | Bulk Product b54c1a03 | Clothing | $251.13 | 397 | ★ 4.5 | 54 | BULK-d5f4ae90 |
| 9627 | Bulk Product 2e93c0ea | Toys & Games | $728.55 | 498 | ★ 4.9 | 30 | BULK-9d95b645 |
| 9628 | Bulk Product e4d34c5c | Clothing | $758.32 | 2 | ★ 4.3 | 10 | BULK-e3091dfe |
| 9629 | Bulk Product 5dd73992 | Books | $436.35 | 217 | ★ 0.2 | 14 | BULK-4fcef501 |
| 9630 | Bulk Product 0dbc69ed | Toys & Games | $417.21 | 89 | ★ 4.6 | 51 | BULK-da2df162 |
| 9631 | Bulk Product e4084b52 | Home & Garden | $71.35 | 385 | ★ 3.9 | 12 | BULK-81169e3d |
| 9632 | Bulk Product a2e60417 | Sports & Outdoors | $645.98 | 258 | ★ 5.0 | 31 | BULK-e8e4c782 |
| 9633 | Bulk Product eb8bde38 | Toys & Games | $356.61 | 45 | ★ 0.9 | 14 | BULK-6f9c6a0e |
| 9634 | Bulk Product f7c11bac | Clothing | $154.87 | 464 | ★ 3.6 | 94 | BULK-6039a0a6 |
| 9635 | Bulk Product f723b816 | Electronics | $604.74 | 166 | ★ 3.7 | 6 | BULK-4d914bb0 |
| 9636 | Bulk Product df3cd1c9 | Toys & Games | $663.51 | 217 | ★ 3.0 | 40 | BULK-ac8758d6 |
| 9637 | Bulk Product 6ff35be1 | Sports & Outdoors | $448.29 | 114 | ★ 2.9 | 87 | BULK-e7a5e72c |
| 9638 | Bulk Product f958bf03 | Home & Garden | $572.76 | 193 | ★ 3.3 | 78 | BULK-e2249504 |
| 9639 | Bulk Product fb02aeca | Home & Garden | $13.52 | 157 | ★ 3.6 | 4 | BULK-d98ae58e |
| 9640 | Bulk Product eb9e2f4f | Clothing | $975.60 | 141 | ★ 0.1 | 22 | BULK-b4c5399c |
| 9641 | Bulk Product cc3abba3 | Clothing | $295.52 | 453 | ★ 1.7 | 62 | BULK-967d4490 |
| 9642 | Bulk Product 535df03f | Books | $863.69 | 104 | ★ 1.9 | 24 | BULK-285da128 |
| 9643 | Bulk Product 60c6f403 | Clothing | $406.87 | 147 | ★ 3.4 | 56 | BULK-3064312d |
| 9644 | Bulk Product 1a5e104d | Toys & Games | $487.23 | 222 | ★ 2.0 | 54 | BULK-8550d8b9 |
| 9645 | Bulk Product 37e4c568 | Electronics | $443.08 | 317 | ★ 3.6 | 30 | BULK-c60704e3 |
| 9646 | Bulk Product 4d035859 | Books | $462.78 | 338 | ★ 1.5 | 99 | BULK-ac3e9c1a |
| 9647 | Bulk Product 790f2ae2 | Electronics | $587.81 | 176 | ★ 0.4 | 86 | BULK-fb3c52b5 |
| 9648 | Bulk Product 645510cf | Electronics | $578.88 | 214 | ★ 3.3 | 48 | BULK-fe8a6859 |
| 9649 | Bulk Product 60bad7ae | Clothing | $920.34 | 316 | ★ 0.4 | 17 | BULK-52ee1fa5 |
| 9650 | Bulk Product 6a860862 | Home & Garden | $860.15 | 243 | ★ 4.5 | 26 | BULK-cdb18d52 |
| 9651 | Bulk Product 01fa7391 | Electronics | $163.17 | 219 | ★ 4.1 | 49 | BULK-e0625b44 |
| 9652 | Bulk Product 48c20872 | Sports & Outdoors | $633.22 | 416 | ★ 3.1 | 20 | BULK-0325a3b9 |
| 9653 | Bulk Product 4664083a | Sports & Outdoors | $490.50 | 350 | ★ 0.1 | 0 | BULK-1bad6f15 |
| 9654 | Bulk Product ce1c1d87 | Books | $538.87 | 68 | ★ 0.8 | 25 | BULK-34014b5c |
| 9655 | Bulk Product 053ed91b | Electronics | $209.65 | 276 | ★ 3.8 | 61 | BULK-d3463860 |
| 9656 | Bulk Product cc990ea4 | Books | $468.86 | 442 | ★ 3.9 | 1 | BULK-65232914 |
| 9657 | Bulk Product 6bd7590d | Books | $492.07 | 344 | ★ 4.2 | 1 | BULK-cb61936b |
| 9658 | Bulk Product be48c1c6 | Home & Garden | $894.73 | 136 | ★ 1.3 | 5 | BULK-a4288a7d |
| 9659 | Bulk Product f91c4790 | Electronics | $245.11 | 451 | ★ 2.7 | 63 | BULK-e26773c7 |
// 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
};
}