Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 22260 | Bulk Product 7c919e63 | Electronics | $741.89 | 337 | ★ 0.5 | 60 | BULK-27fa9941 |
| 22261 | Bulk Product a10ab3eb | Electronics | $855.26 | 151 | ★ 1.7 | 45 | BULK-e73bc5b9 |
| 22262 | Bulk Product 6ac870df | Electronics | $512.60 | 353 | ★ 4.3 | 79 | BULK-d85aaaf4 |
| 22263 | Bulk Product 1af158b2 | Clothing | $158.67 | 139 | ★ 3.8 | 99 | BULK-32b22591 |
| 22264 | Bulk Product 9f020f53 | Home & Garden | $727.44 | 276 | ★ 1.9 | 88 | BULK-288c02e8 |
| 22265 | Bulk Product 174940da | Books | $411.52 | 131 | ★ 0.5 | 37 | BULK-f33e9d12 |
| 22266 | Bulk Product eae2aae1 | Sports & Outdoors | $65.22 | 269 | ★ 4.2 | 70 | BULK-61245dfc |
| 22267 | Bulk Product f34446e6 | Toys & Games | $441.55 | 262 | ★ 0.4 | 48 | BULK-8c95bcc4 |
| 22268 | Bulk Product 212ed2ce | Home & Garden | $859.34 | 414 | ★ 3.8 | 33 | BULK-3fe03092 |
| 22269 | Bulk Product 5be10d29 | Books | $572.15 | 197 | ★ 1.7 | 90 | BULK-d77a7591 |
| 22270 | Bulk Product 0367dc01 | Toys & Games | $444.07 | 149 | ★ 3.7 | 54 | BULK-f16013c6 |
| 22271 | Bulk Product c347a618 | Electronics | $312.98 | 198 | ★ 3.4 | 74 | BULK-c843ea7a |
| 22272 | Bulk Product 4a57835e | Clothing | $373.24 | 371 | ★ 2.8 | 64 | BULK-16229f57 |
| 22273 | Bulk Product 5fc374e7 | Sports & Outdoors | $963.70 | 114 | ★ 3.6 | 1 | BULK-37377278 |
| 22274 | Bulk Product d8e8c6c0 | Electronics | $342.64 | 246 | ★ 1.3 | 97 | BULK-ec436e15 |
| 22275 | Bulk Product aaaba11d | Toys & Games | $20.28 | 26 | ★ 1.2 | 19 | BULK-2302998c |
| 22276 | Bulk Product 1e0d7c0c | Clothing | $870.55 | 335 | ★ 3.6 | 42 | BULK-4249e0d3 |
| 22277 | Bulk Product fb4d1b7d | Sports & Outdoors | $879.56 | 90 | ★ 2.7 | 25 | BULK-268663ca |
| 22278 | Bulk Product 8467e61e | Home & Garden | $209.21 | 120 | ★ 1.0 | 63 | BULK-71622a17 |
| 22279 | Bulk Product 9423bea4 | Home & Garden | $78.88 | 229 | ★ 3.5 | 30 | BULK-a1f9f9c5 |
| 22280 | Bulk Product c307b62a | Electronics | $572.30 | 405 | ★ 1.3 | 44 | BULK-6a780eb9 |
| 22281 | Bulk Product 3b273e28 | Books | $59.87 | 283 | ★ 1.2 | 11 | BULK-4a97e543 |
| 22282 | Bulk Product 18e890b8 | Sports & Outdoors | $825.21 | 180 | ★ 3.0 | 72 | BULK-5ae7f22f |
| 22283 | Bulk Product 6a88a8d6 | Books | $1,003.58 | 109 | ★ 0.7 | 73 | BULK-9664095b |
| 22284 | Bulk Product 6420fb0f | Books | $501.87 | 459 | ★ 1.9 | 64 | BULK-86403b77 |
| 22285 | Bulk Product ea58a66b | Books | $960.21 | 441 | ★ 4.3 | 46 | BULK-6590b78c |
| 22286 | Bulk Product 7e90ae22 | Toys & Games | $920.78 | 476 | ★ 1.6 | 59 | BULK-68ce7dd2 |
| 22287 | Bulk Product 6bae25fa | Electronics | $291.38 | 278 | ★ 3.2 | 66 | BULK-06e19f1e |
| 22288 | Bulk Product 9c8c4500 | Books | $596.52 | 17 | ★ 4.5 | 25 | BULK-54fa1a46 |
| 22289 | Bulk Product 379cdec3 | Electronics | $886.65 | 284 | ★ 2.0 | 7 | BULK-42fda931 |
| 22290 | Bulk Product 73ec4001 | Toys & Games | $895.58 | 190 | ★ 0.6 | 27 | BULK-d4d81b60 |
| 22291 | Bulk Product f2116ddf | Home & Garden | $636.50 | 461 | ★ 4.6 | 42 | BULK-4d61a7d3 |
| 22292 | Bulk Product 1f8b48e7 | Home & Garden | $450.00 | 212 | ★ 2.0 | 1 | BULK-8a8f66fd |
| 22293 | Bulk Product 5b7455a2 | Electronics | $447.65 | 356 | ★ 4.5 | 21 | BULK-fd08c0d4 |
| 22294 | Bulk Product 48354b8f | Clothing | $579.28 | 138 | ★ 4.5 | 75 | BULK-6cfd09ac |
| 22295 | Bulk Product baf981a1 | Sports & Outdoors | $575.61 | 41 | ★ 3.3 | 61 | BULK-a9ad5b0c |
| 22296 | Bulk Product 4d946dbe | Toys & Games | $199.99 | 305 | ★ 0.4 | 55 | BULK-87690392 |
| 22297 | Bulk Product 46da0394 | Home & Garden | $159.69 | 142 | ★ 2.8 | 22 | BULK-6be37e6a |
| 22298 | Bulk Product e245e609 | Toys & Games | $251.61 | 257 | ★ 2.3 | 8 | BULK-83a3ddbd |
| 22299 | Bulk Product 0de37a0b | Electronics | $255.78 | 93 | ★ 0.0 | 48 | BULK-3fd5cdcb |
| 22300 | Bulk Product 144d4a2c | Toys & Games | $322.73 | 41 | ★ 3.1 | 61 | BULK-aa4bc9ee |
| 22301 | Bulk Product 06ca6dd3 | Sports & Outdoors | $959.26 | 148 | ★ 4.4 | 90 | BULK-61c524db |
| 22302 | Bulk Product effa1b80 | Home & Garden | $407.78 | 150 | ★ 0.9 | 11 | BULK-f0fb99f7 |
| 22303 | Bulk Product b6281986 | Clothing | $583.26 | 253 | ★ 3.1 | 88 | BULK-61fec204 |
| 22304 | Bulk Product 499ef9c1 | Toys & Games | $941.32 | 8 | ★ 1.8 | 76 | BULK-99a5fef6 |
| 22305 | Bulk Product 03e4c7c1 | Clothing | $273.47 | 164 | ★ 2.6 | 8 | BULK-f1836fea |
| 22306 | Bulk Product b282f66b | Books | $956.21 | 64 | ★ 0.1 | 26 | BULK-39b0a310 |
| 22307 | Bulk Product a583ad9a | Home & Garden | $768.68 | 263 | ★ 1.0 | 6 | BULK-bd655d31 |
| 22308 | Bulk Product 81cba144 | Clothing | $462.05 | 492 | ★ 3.5 | 23 | BULK-6978ca22 |
| 22309 | Bulk Product 90de8140 | Electronics | $769.74 | 297 | ★ 0.8 | 15 | BULK-b3d7fe41 |
// 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
};
}