Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 15660 | Bulk Product ad7d925f | Books | $391.44 | 108 | ★ 0.6 | 49 | BULK-af6f843e |
| 15661 | Bulk Product c173f075 | Sports & Outdoors | $212.36 | 285 | ★ 1.3 | 83 | BULK-33def0d2 |
| 15662 | Bulk Product 39d43c4d | Sports & Outdoors | $462.37 | 220 | ★ 0.2 | 60 | BULK-1f341833 |
| 15663 | Bulk Product 11925d7c | Electronics | $382.02 | 461 | ★ 4.8 | 20 | BULK-576a1284 |
| 15664 | Bulk Product d56bbccb | Home & Garden | $275.47 | 413 | ★ 1.5 | 91 | BULK-bd066fac |
| 15665 | Bulk Product 6606d773 | Home & Garden | $222.92 | 125 | ★ 2.5 | 11 | BULK-e25b0695 |
| 15666 | Bulk Product 90d68e88 | Sports & Outdoors | $274.90 | 56 | ★ 1.8 | 57 | BULK-3aead12a |
| 15667 | Bulk Product 6e347fa9 | Clothing | $978.77 | 355 | ★ 0.7 | 86 | BULK-1ed35e8a |
| 15668 | Bulk Product 03ca421f | Electronics | $127.33 | 124 | ★ 0.7 | 8 | BULK-3230c3ec |
| 15669 | Bulk Product 22daf736 | Clothing | $917.85 | 379 | ★ 2.0 | 36 | BULK-df35debb |
| 15670 | Bulk Product 79b74c94 | Toys & Games | $36.37 | 267 | ★ 1.6 | 81 | BULK-1c5b7e75 |
| 15671 | Bulk Product 584007fd | Books | $644.29 | 110 | ★ 0.7 | 13 | BULK-f6c97a03 |
| 15672 | Bulk Product a3e577c2 | Toys & Games | $247.18 | 50 | ★ 3.4 | 46 | BULK-68247bce |
| 15673 | Bulk Product f87e3fee | Toys & Games | $777.11 | 89 | ★ 0.4 | 81 | BULK-91791c9c |
| 15674 | Bulk Product ac15d389 | Clothing | $419.88 | 194 | ★ 0.0 | 11 | BULK-1aa7d440 |
| 15675 | Bulk Product a30bec7c | Electronics | $703.93 | 181 | ★ 4.1 | 58 | BULK-61288ac2 |
| 15676 | Bulk Product ce07f2e5 | Electronics | $587.45 | 479 | ★ 3.1 | 57 | BULK-da1e6477 |
| 15677 | Bulk Product 0159814e | Electronics | $565.66 | 76 | ★ 1.4 | 14 | BULK-ee38fc79 |
| 15678 | Bulk Product 8b69454c | Books | $493.20 | 394 | ★ 3.9 | 50 | BULK-570a0375 |
| 15679 | Bulk Product 8e332dc2 | Sports & Outdoors | $438.13 | 358 | ★ 1.0 | 74 | BULK-af5ba799 |
| 15680 | Bulk Product 6fe72916 | Clothing | $173.74 | 5 | ★ 3.0 | 59 | BULK-988a4880 |
| 15681 | Bulk Product 2a0c5f59 | Books | $899.84 | 213 | ★ 2.5 | 98 | BULK-b0fb10ba |
| 15682 | Bulk Product 5c8c555d | Clothing | $872.13 | 413 | ★ 3.1 | 55 | BULK-e9b607c9 |
| 15683 | Bulk Product 3d50c3ab | Books | $909.12 | 90 | ★ 2.7 | 89 | BULK-14a8614e |
| 15684 | Bulk Product bad78bae | Home & Garden | $122.49 | 296 | ★ 4.6 | 64 | BULK-3e8ff9be |
| 15685 | Bulk Product 22d5b870 | Books | $559.89 | 84 | ★ 1.0 | 87 | BULK-bf686f23 |
| 15686 | Bulk Product 2de17d58 | Electronics | $60.32 | 176 | ★ 3.4 | 73 | BULK-528b3f0f |
| 15687 | Bulk Product 4aca3aca | Sports & Outdoors | $536.04 | 285 | ★ 1.3 | 95 | BULK-0fc99b7b |
| 15688 | Bulk Product 90a1f06c | Electronics | $817.91 | 242 | ★ 2.1 | 57 | BULK-a3cf5c05 |
| 15689 | Bulk Product 7ca36d15 | Books | $673.90 | 233 | ★ 3.4 | 49 | BULK-f9296ad5 |
| 15690 | Bulk Product 5ba23e46 | Electronics | $115.97 | 330 | ★ 3.5 | 73 | BULK-2dd94892 |
| 15691 | Bulk Product 03b33a06 | Toys & Games | $704.49 | 256 | ★ 1.6 | 54 | BULK-3f64ddd2 |
| 15692 | Bulk Product 880c6437 | Sports & Outdoors | $646.20 | 428 | ★ 3.6 | 37 | BULK-7ed6502b |
| 15693 | Bulk Product bd1d1d39 | Toys & Games | $334.11 | 23 | ★ 3.5 | 36 | BULK-033666ba |
| 15694 | Bulk Product c4d2a802 | Electronics | $645.85 | 138 | ★ 1.6 | 61 | BULK-1366f51c |
| 15695 | Bulk Product 5e1cc01e | Sports & Outdoors | $881.24 | 115 | ★ 4.7 | 53 | BULK-55cac8d9 |
| 15696 | Bulk Product 59327eed | Clothing | $240.98 | 370 | ★ 1.4 | 3 | BULK-db23b162 |
| 15697 | Bulk Product 13ee29bd | Clothing | $42.78 | 174 | ★ 4.6 | 33 | BULK-219dd691 |
| 15698 | Bulk Product 39fd6557 | Electronics | $803.70 | 478 | ★ 0.8 | 96 | BULK-de2963e7 |
| 15699 | Bulk Product cd708c62 | Sports & Outdoors | $994.67 | 407 | ★ 1.5 | 73 | BULK-428038e8 |
| 15700 | Bulk Product 17b8c86d | Clothing | $46.35 | 137 | ★ 0.7 | 12 | BULK-d02c30d9 |
| 15701 | Bulk Product 358b35ec | Clothing | $261.68 | 456 | ★ 1.8 | 94 | BULK-7870e316 |
| 15702 | Bulk Product e1015365 | Clothing | $45.14 | 60 | ★ 1.1 | 59 | BULK-52a76b07 |
| 15703 | Bulk Product cec2f658 | Clothing | $981.56 | 257 | ★ 3.2 | 85 | BULK-3d21daae |
| 15704 | Bulk Product b474b85b | Toys & Games | $771.83 | 67 | ★ 2.8 | 37 | BULK-b80e0ca8 |
| 15705 | Bulk Product 9a6840f3 | Toys & Games | $822.40 | 316 | ★ 1.1 | 31 | BULK-12b37f4b |
| 15706 | Bulk Product 21f80f21 | Toys & Games | $901.63 | 298 | ★ 4.5 | 97 | BULK-f61eee52 |
| 15707 | Bulk Product d3074994 | Sports & Outdoors | $77.69 | 470 | ★ 3.8 | 37 | BULK-e8779f5d |
| 15708 | Bulk Product 834a2de7 | Books | $167.25 | 251 | ★ 2.4 | 51 | BULK-3f900493 |
| 15709 | Bulk Product 8fdd13b9 | Sports & Outdoors | $640.84 | 429 | ★ 1.2 | 11 | BULK-92dc7086 |
// 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
};
}