Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 19560 | Bulk Product 3fb4b7f5 | Home & Garden | $109.33 | 357 | ★ 4.6 | 22 | BULK-8d4e66b2 |
| 19561 | Bulk Product 4817cb53 | Sports & Outdoors | $1,003.02 | 81 | ★ 2.9 | 85 | BULK-9f48969d |
| 19562 | Bulk Product 3cf021de | Sports & Outdoors | $827.33 | 389 | ★ 0.2 | 79 | BULK-fb27506f |
| 19563 | Bulk Product 6e0578db | Electronics | $662.76 | 240 | ★ 3.4 | 53 | BULK-9e00b135 |
| 19564 | Bulk Product 4ecc7976 | Sports & Outdoors | $746.42 | 19 | ★ 4.0 | 1 | BULK-988b813f |
| 19565 | Bulk Product 468aa134 | Electronics | $745.23 | 111 | ★ 4.0 | 46 | BULK-b1462d40 |
| 19566 | Bulk Product f5560876 | Electronics | $860.30 | 102 | ★ 1.7 | 11 | BULK-f688bcb3 |
| 19567 | Bulk Product 488cff0f | Electronics | $447.23 | 204 | ★ 3.2 | 37 | BULK-e2dddb14 |
| 19568 | Bulk Product 85d559a4 | Clothing | $406.96 | 210 | ★ 3.7 | 31 | BULK-511ad65b |
| 19569 | Bulk Product 85dcf03b | Sports & Outdoors | $511.96 | 121 | ★ 2.2 | 99 | BULK-c8cd7bd8 |
| 19570 | Bulk Product 7b487ab3 | Clothing | $41.69 | 85 | ★ 0.1 | 31 | BULK-f74dc43f |
| 19571 | Bulk Product 1e78adb1 | Books | $278.20 | 16 | ★ 2.6 | 18 | BULK-1f3f0ddd |
| 19572 | Bulk Product acc3068c | Books | $56.06 | 72 | ★ 3.7 | 59 | BULK-84633d51 |
| 19573 | Bulk Product db11bf27 | Books | $514.79 | 210 | ★ 2.8 | 60 | BULK-ad1ad11f |
| 19574 | Bulk Product 94682178 | Electronics | $338.27 | 66 | ★ 2.5 | 13 | BULK-216f3bd1 |
| 19575 | Bulk Product d46e0849 | Sports & Outdoors | $963.04 | 377 | ★ 2.4 | 2 | BULK-cffa8d63 |
| 19576 | Bulk Product db5827b9 | Clothing | $74.65 | 93 | ★ 2.5 | 92 | BULK-a3327589 |
| 19577 | Bulk Product 3363187d | Clothing | $248.21 | 148 | ★ 2.3 | 18 | BULK-11b026f7 |
| 19578 | Bulk Product 7d947f3c | Electronics | $657.35 | 130 | ★ 4.2 | 97 | BULK-f787f4a8 |
| 19579 | Bulk Product 8d9c7a4b | Electronics | $895.77 | 362 | ★ 2.6 | 8 | BULK-89b6e103 |
| 19580 | Bulk Product 1e8b7e0a | Toys & Games | $23.68 | 397 | ★ 2.2 | 50 | BULK-9baa038b |
| 19581 | Bulk Product 1cedf206 | Clothing | $205.03 | 412 | ★ 3.9 | 32 | BULK-990c0bd2 |
| 19582 | Bulk Product 71a76953 | Electronics | $907.06 | 60 | ★ 0.4 | 86 | BULK-40caea3d |
| 19583 | Bulk Product 1338b394 | Electronics | $866.74 | 263 | ★ 3.4 | 30 | BULK-14ccfe33 |
| 19584 | Bulk Product 2d5e7473 | Sports & Outdoors | $901.46 | 194 | ★ 2.3 | 51 | BULK-d20541b9 |
| 19585 | Bulk Product b7140cae | Electronics | $733.74 | 274 | ★ 1.7 | 42 | BULK-20935f3c |
| 19586 | Bulk Product a282088e | Electronics | $906.00 | 414 | ★ 1.7 | 17 | BULK-5a9f6dca |
| 19587 | Bulk Product 67dcee50 | Books | $115.50 | 425 | ★ 3.1 | 86 | BULK-a889c9d1 |
| 19588 | Bulk Product d48b0d28 | Books | $489.89 | 396 | ★ 0.0 | 7 | BULK-b60cb519 |
| 19589 | Bulk Product 346147c7 | Toys & Games | $318.18 | 405 | ★ 3.6 | 17 | BULK-6de34bbc |
| 19590 | Bulk Product 00b71b33 | Electronics | $224.60 | 249 | ★ 4.3 | 94 | BULK-d4b469d9 |
| 19591 | Bulk Product 8c5927e0 | Electronics | $619.87 | 126 | ★ 2.6 | 30 | BULK-90430e20 |
| 19592 | Bulk Product e1fb7b3c | Home & Garden | $100.32 | 141 | ★ 4.1 | 42 | BULK-8058fce5 |
| 19593 | Bulk Product 95a5a728 | Sports & Outdoors | $340.58 | 378 | ★ 3.7 | 2 | BULK-1a4f35de |
| 19594 | Bulk Product 7ed5b09d | Sports & Outdoors | $778.70 | 375 | ★ 0.5 | 5 | BULK-104d65fa |
| 19595 | Bulk Product 38f62f87 | Sports & Outdoors | $577.39 | 175 | ★ 4.0 | 43 | BULK-b4080837 |
| 19596 | Bulk Product 2dd8ad70 | Clothing | $977.26 | 328 | ★ 2.7 | 55 | BULK-acc181c7 |
| 19597 | Bulk Product b3d79dc9 | Sports & Outdoors | $823.41 | 269 | ★ 3.9 | 18 | BULK-c451c383 |
| 19598 | Bulk Product 9aef3dc6 | Electronics | $427.76 | 10 | ★ 1.6 | 55 | BULK-18a2a34c |
| 19599 | Bulk Product e130a3fb | Books | $771.89 | 93 | ★ 3.8 | 61 | BULK-77d60263 |
| 19600 | Bulk Product 02131b0f | Electronics | $938.82 | 270 | ★ 3.3 | 65 | BULK-af1b8ec4 |
| 19601 | Bulk Product 94cd2105 | Sports & Outdoors | $638.35 | 50 | ★ 4.9 | 77 | BULK-f870c233 |
| 19602 | Bulk Product c66211cd | Books | $454.22 | 194 | ★ 3.4 | 89 | BULK-97876362 |
| 19603 | Bulk Product 17b6913e | Toys & Games | $951.62 | 318 | ★ 2.4 | 13 | BULK-bde770a7 |
| 19604 | Bulk Product 792e7796 | Home & Garden | $60.61 | 376 | ★ 0.8 | 88 | BULK-db60f225 |
| 19605 | Bulk Product 1097bcfc | Sports & Outdoors | $26.75 | 147 | ★ 1.2 | 12 | BULK-6a46afef |
| 19606 | Bulk Product 60b5ca75 | Sports & Outdoors | $28.76 | 452 | ★ 1.3 | 85 | BULK-cf67f9ae |
| 19607 | Bulk Product acd079ba | Electronics | $594.35 | 263 | ★ 1.1 | 7 | BULK-3518c07e |
| 19608 | Bulk Product ec940791 | Home & Garden | $858.82 | 23 | ★ 2.9 | 65 | BULK-8ef8e8fc |
| 19609 | Bulk Product 385e06ab | Home & Garden | $394.32 | 479 | ★ 1.5 | 1 | BULK-fcb50190 |
// 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
};
}