Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 14110 | Bulk Product 5f1225dd | Sports & Outdoors | $808.39 | 146 | ★ 0.7 | 79 | BULK-17cffc09 |
| 14111 | Bulk Product 0ed92c0e | Books | $120.31 | 157 | ★ 0.9 | 91 | BULK-6afab2c9 |
| 14112 | Bulk Product 40973f9e | Books | $646.68 | 14 | ★ 0.3 | 18 | BULK-b29a8b61 |
| 14113 | Bulk Product 99e7fe53 | Books | $342.35 | 82 | ★ 3.0 | 11 | BULK-ba432b6b |
| 14114 | Bulk Product 5a5a9b2a | Toys & Games | $866.34 | 387 | ★ 5.0 | 46 | BULK-5ab844e0 |
| 14115 | Bulk Product f2796138 | Toys & Games | $578.48 | 275 | ★ 2.4 | 72 | BULK-673ddd7a |
| 14116 | Bulk Product f57dc92d | Sports & Outdoors | $199.81 | 376 | ★ 4.0 | 53 | BULK-c5b01787 |
| 14117 | Bulk Product ad4ea277 | Clothing | $159.70 | 104 | ★ 3.1 | 92 | BULK-6a3619ec |
| 14118 | Bulk Product 261e5f9e | Books | $140.77 | 150 | ★ 3.5 | 46 | BULK-6b2d26a9 |
| 14119 | Bulk Product dc27b57d | Toys & Games | $435.66 | 273 | ★ 4.7 | 70 | BULK-b4891413 |
| 14120 | Bulk Product 0bbeca3a | Home & Garden | $449.16 | 214 | ★ 3.2 | 82 | BULK-0c47e5f0 |
| 14121 | Bulk Product 438d4d21 | Sports & Outdoors | $601.66 | 482 | ★ 1.5 | 20 | BULK-5a317851 |
| 14122 | Bulk Product 0a58ea5c | Electronics | $511.71 | 223 | ★ 1.1 | 74 | BULK-e4c46a72 |
| 14123 | Bulk Product 3ea9d58a | Books | $501.28 | 268 | ★ 0.0 | 76 | BULK-0aa46b76 |
| 14124 | Bulk Product 5370a76e | Home & Garden | $667.95 | 437 | ★ 0.1 | 7 | BULK-15d0eeb6 |
| 14125 | Bulk Product 397745ea | Electronics | $568.05 | 355 | ★ 1.5 | 27 | BULK-5300d8f1 |
| 14126 | Bulk Product 4ad5009f | Home & Garden | $314.29 | 486 | ★ 4.9 | 98 | BULK-822c9b60 |
| 14127 | Bulk Product 56c99ee6 | Electronics | $939.06 | 92 | ★ 1.1 | 95 | BULK-95bf4c43 |
| 14128 | Bulk Product 88e6f0ac | Electronics | $675.03 | 397 | ★ 1.8 | 97 | BULK-45c34987 |
| 14129 | Bulk Product 2a796312 | Toys & Games | $628.01 | 330 | ★ 2.0 | 60 | BULK-5d3491c6 |
| 14130 | Bulk Product e727f747 | Sports & Outdoors | $396.03 | 204 | ★ 2.4 | 38 | BULK-05158424 |
| 14131 | Bulk Product 1310b1f9 | Home & Garden | $288.76 | 485 | ★ 4.6 | 57 | BULK-93278b9c |
| 14132 | Bulk Product cb017003 | Home & Garden | $362.51 | 274 | ★ 2.8 | 89 | BULK-3dc66ad3 |
| 14133 | Bulk Product b2ac8bdb | Home & Garden | $396.25 | 457 | ★ 3.0 | 47 | BULK-64905910 |
| 14134 | Bulk Product e3b6fb1e | Toys & Games | $127.92 | 130 | ★ 2.7 | 81 | BULK-4f68b070 |
| 14135 | Bulk Product 1ce76f2c | Sports & Outdoors | $316.19 | 250 | ★ 2.4 | 96 | BULK-bc0d6c38 |
| 14136 | Bulk Product b391228f | Clothing | $564.60 | 178 | ★ 3.6 | 3 | BULK-a0a23c47 |
| 14137 | Bulk Product aab856a0 | Electronics | $772.94 | 101 | ★ 0.8 | 37 | BULK-75b72c1b |
| 14138 | Bulk Product fc724f79 | Books | $885.63 | 278 | ★ 0.7 | 39 | BULK-438e6e84 |
| 14139 | Bulk Product 68dd3cfd | Electronics | $63.59 | 295 | ★ 1.2 | 56 | BULK-fba5bcd9 |
| 14140 | Bulk Product bf0de752 | Toys & Games | $918.22 | 152 | ★ 3.0 | 10 | BULK-1a7b9fe6 |
| 14141 | Bulk Product b43cd666 | Home & Garden | $23.80 | 218 | ★ 0.3 | 42 | BULK-11c3ac7f |
| 14142 | Bulk Product ed4a2498 | Clothing | $54.79 | 437 | ★ 4.2 | 70 | BULK-026a8c2e |
| 14143 | Bulk Product 66704411 | Books | $331.62 | 133 | ★ 5.0 | 60 | BULK-82aadc2c |
| 14144 | Bulk Product 16c0a1e9 | Books | $764.00 | 357 | ★ 4.6 | 13 | BULK-d6aaf0cf |
| 14145 | Bulk Product e5d366d9 | Toys & Games | $514.92 | 235 | ★ 1.4 | 87 | BULK-22e59e68 |
| 14146 | Bulk Product 3245a3f9 | Electronics | $232.15 | 163 | ★ 2.2 | 95 | BULK-24dca437 |
| 14147 | Bulk Product 536b7732 | Electronics | $48.84 | 42 | ★ 4.7 | 83 | BULK-815f0f73 |
| 14148 | Bulk Product 784828f2 | Sports & Outdoors | $850.54 | 54 | ★ 4.1 | 88 | BULK-2d15a5e0 |
| 14149 | Bulk Product 0571e94a | Electronics | $487.49 | 147 | ★ 2.3 | 78 | BULK-b96bf239 |
| 14150 | Bulk Product cb564b5d | Toys & Games | $336.36 | 336 | ★ 3.4 | 27 | BULK-6a39e9f9 |
| 14151 | Bulk Product b2881e5f | Books | $381.01 | 372 | ★ 4.0 | 17 | BULK-cdabf268 |
| 14152 | Bulk Product e5c218c1 | Sports & Outdoors | $758.74 | 89 | ★ 4.7 | 66 | BULK-740fef89 |
| 14153 | Bulk Product d6bb659d | Toys & Games | $669.41 | 385 | ★ 4.0 | 25 | BULK-8cd318cd |
| 14154 | Bulk Product 56ca899e | Electronics | $720.23 | 320 | ★ 1.2 | 56 | BULK-e5cf57c1 |
| 14155 | Bulk Product 9a555555 | Home & Garden | $266.28 | 499 | ★ 4.5 | 71 | BULK-ec21896b |
| 14156 | Bulk Product 3904954e | Home & Garden | $716.40 | 81 | ★ 0.0 | 36 | BULK-f0ddc143 |
| 14157 | Bulk Product f9a64bc9 | Clothing | $378.28 | 239 | ★ 0.7 | 43 | BULK-9101b5c0 |
| 14158 | Bulk Product 221cf566 | Books | $117.21 | 480 | ★ 0.9 | 11 | BULK-89021943 |
| 14159 | Bulk Product b8852a87 | Books | $55.88 | 262 | ★ 0.6 | 36 | BULK-e8d9e037 |
// 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
};
}