Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 7760 | Bulk Product d96f8334 | Clothing | $330.81 | 235 | ★ 2.7 | 84 | BULK-ca8e8ea0 |
| 7761 | Bulk Product 8540905b | Sports & Outdoors | $967.13 | 17 | ★ 4.7 | 81 | BULK-7e56d412 |
| 7762 | Bulk Product 64154c20 | Toys & Games | $902.02 | 331 | ★ 4.3 | 56 | BULK-65597066 |
| 7763 | Bulk Product da91ce23 | Sports & Outdoors | $288.32 | 469 | ★ 2.5 | 80 | BULK-236650fc |
| 7764 | Bulk Product 97cf971a | Clothing | $53.35 | 243 | ★ 1.4 | 35 | BULK-afe27464 |
| 7765 | Bulk Product 365cb80b | Sports & Outdoors | $343.85 | 72 | ★ 4.9 | 20 | BULK-1eaeba3a |
| 7766 | Bulk Product aa905335 | Clothing | $273.30 | 387 | ★ 0.5 | 84 | BULK-04ac0e7b |
| 7767 | Bulk Product 4898ba49 | Home & Garden | $1,005.96 | 113 | ★ 3.9 | 77 | BULK-219ece6c |
| 7768 | Bulk Product 83b8386c | Home & Garden | $87.93 | 353 | ★ 4.7 | 32 | BULK-0f394eda |
| 7769 | Bulk Product 5cb60747 | Books | $478.48 | 255 | ★ 0.6 | 54 | BULK-0c45ce08 |
| 7770 | Bulk Product 20cd54e9 | Electronics | $868.79 | 142 | ★ 4.9 | 34 | BULK-21da05de |
| 7771 | Bulk Product d39f5e8e | Books | $66.85 | 242 | ★ 4.3 | 81 | BULK-af770adb |
| 7772 | Bulk Product dd727889 | Sports & Outdoors | $808.01 | 93 | ★ 1.0 | 86 | BULK-aef2a1ca |
| 7773 | Bulk Product 7ee6cb1e | Home & Garden | $129.68 | 371 | ★ 5.0 | 37 | BULK-e0f58351 |
| 7774 | Bulk Product b9f0eada | Books | $768.14 | 112 | ★ 1.7 | 77 | BULK-9436fcba |
| 7775 | Bulk Product 9d0726c7 | Electronics | $109.14 | 58 | ★ 4.6 | 93 | BULK-580253b8 |
| 7776 | Bulk Product 917920b0 | Sports & Outdoors | $318.73 | 255 | ★ 0.1 | 80 | BULK-e92c83d6 |
| 7777 | Bulk Product 3701cd70 | Clothing | $44.94 | 464 | ★ 2.7 | 58 | BULK-e2993a2f |
| 7778 | Bulk Product b1f7fee8 | Sports & Outdoors | $597.03 | 300 | ★ 3.7 | 8 | BULK-d0a31279 |
| 7779 | Bulk Product 50f84377 | Clothing | $440.23 | 180 | ★ 4.0 | 63 | BULK-69dd26e5 |
| 7780 | Bulk Product 6e682515 | Books | $848.16 | 324 | ★ 4.9 | 10 | BULK-d9e86efc |
| 7781 | Bulk Product 2896d18f | Clothing | $342.43 | 444 | ★ 2.9 | 8 | BULK-766cbc06 |
| 7782 | Bulk Product e35d29d0 | Toys & Games | $77.68 | 352 | ★ 3.5 | 87 | BULK-b53f774d |
| 7783 | Bulk Product 39f8b619 | Electronics | $843.81 | 402 | ★ 0.9 | 56 | BULK-3de83f7c |
| 7784 | Bulk Product 34180eb0 | Books | $271.58 | 304 | ★ 0.8 | 72 | BULK-97133e85 |
| 7785 | Bulk Product cd4abc79 | Toys & Games | $550.61 | 182 | ★ 0.9 | 91 | BULK-09e9d1ca |
| 7786 | Bulk Product 2cea3033 | Books | $55.98 | 134 | ★ 0.3 | 74 | BULK-2a66f00b |
| 7787 | Bulk Product b6d3994e | Electronics | $605.44 | 416 | ★ 1.4 | 65 | BULK-62fca766 |
| 7788 | Bulk Product 1b2f6020 | Electronics | $368.04 | 372 | ★ 0.5 | 79 | BULK-a46c6c82 |
| 7789 | Bulk Product be700fb0 | Sports & Outdoors | $842.61 | 479 | ★ 2.4 | 76 | BULK-bfb88b98 |
| 7790 | Bulk Product a90ff0c2 | Toys & Games | $445.70 | 143 | ★ 3.7 | 6 | BULK-fe1d0c1e |
| 7791 | Bulk Product f1740f17 | Books | $779.16 | 140 | ★ 2.0 | 97 | BULK-0e51c8a9 |
| 7792 | Bulk Product a88761d4 | Electronics | $689.48 | 146 | ★ 3.3 | 67 | BULK-32965ce3 |
| 7793 | Bulk Product 9c24fefe | Electronics | $721.44 | 434 | ★ 3.0 | 88 | BULK-65f29d5a |
| 7794 | Bulk Product 3e4dcffb | Home & Garden | $339.18 | 364 | ★ 1.2 | 89 | BULK-5dba092f |
| 7795 | Bulk Product 2b4fc7f0 | Electronics | $757.47 | 412 | ★ 2.3 | 93 | BULK-345c3fc6 |
| 7796 | Bulk Product 0a66b2e6 | Electronics | $162.80 | 86 | ★ 1.3 | 8 | BULK-4713aef4 |
| 7797 | Bulk Product 01859025 | Sports & Outdoors | $923.09 | 440 | ★ 3.4 | 19 | BULK-49059047 |
| 7798 | Bulk Product 00cbd292 | Home & Garden | $650.25 | 12 | ★ 3.1 | 99 | BULK-3f5e31c1 |
| 7799 | Bulk Product 25e3a369 | Clothing | $68.20 | 245 | ★ 3.6 | 75 | BULK-56630531 |
| 7800 | Bulk Product 8dabf52e | Sports & Outdoors | $498.31 | 104 | ★ 3.6 | 77 | BULK-dbbb62b3 |
| 7801 | Bulk Product 28cc6050 | Electronics | $679.03 | 484 | ★ 1.6 | 96 | BULK-1bf18d30 |
| 7802 | Bulk Product 32c1b524 | Books | $111.24 | 458 | ★ 3.6 | 84 | BULK-cfb64fc6 |
| 7803 | Bulk Product 2e5fe2aa | Home & Garden | $616.95 | 159 | ★ 4.7 | 31 | BULK-c649c65e |
| 7804 | Bulk Product abd72ecd | Electronics | $779.05 | 10 | ★ 2.3 | 42 | BULK-6a65702b |
| 7805 | Bulk Product 8dbf6693 | Sports & Outdoors | $921.43 | 357 | ★ 0.1 | 52 | BULK-516edc8d |
| 7806 | Bulk Product 636f2d8c | Clothing | $359.13 | 254 | ★ 1.2 | 2 | BULK-ad69d098 |
| 7807 | Bulk Product bad06fc3 | Clothing | $81.26 | 303 | ★ 3.8 | 26 | BULK-4c8c0381 |
| 7808 | Bulk Product bc3c6585 | Toys & Games | $42.00 | 363 | ★ 0.6 | 75 | BULK-4429bfd6 |
| 7809 | Bulk Product 9423ef8e | Books | $637.86 | 369 | ★ 0.8 | 17 | BULK-7e9dd537 |
// 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
};
}