Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 8010 | Bulk Product 61090a5c | Home & Garden | $416.65 | 289 | ★ 2.5 | 39 | BULK-7eb549d6 |
| 8011 | Bulk Product 4e885d14 | Books | $50.00 | 65 | ★ 0.6 | 45 | BULK-67827457 |
| 8012 | Bulk Product 77cb79e4 | Electronics | $384.24 | 483 | ★ 3.1 | 34 | BULK-9727c2de |
| 8013 | Bulk Product dd09cc88 | Home & Garden | $740.85 | 79 | ★ 2.6 | 67 | BULK-7edfa3e1 |
| 8014 | Bulk Product 2d117bc8 | Electronics | $864.77 | 380 | ★ 3.5 | 67 | BULK-d880ce23 |
| 8015 | Bulk Product ad145cbb | Home & Garden | $416.89 | 81 | ★ 2.8 | 30 | BULK-369da9e1 |
| 8016 | Bulk Product 96a05bc8 | Toys & Games | $810.45 | 434 | ★ 0.2 | 52 | BULK-43c8f30a |
| 8017 | Bulk Product 34957880 | Books | $303.89 | 330 | ★ 1.0 | 98 | BULK-7bd244a6 |
| 8018 | Bulk Product 37e904d0 | Toys & Games | $208.83 | 332 | ★ 4.1 | 38 | BULK-1506dbf9 |
| 8019 | Bulk Product 3d2a0bd1 | Clothing | $909.17 | 235 | ★ 1.0 | 45 | BULK-f048f7bf |
| 8020 | Bulk Product 20698a7e | Home & Garden | $19.29 | 454 | ★ 2.2 | 18 | BULK-39a85da8 |
| 8021 | Bulk Product 5ce6404f | Books | $806.16 | 211 | ★ 3.8 | 97 | BULK-cc6efa26 |
| 8022 | Bulk Product e6e00183 | Sports & Outdoors | $711.78 | 314 | ★ 4.9 | 73 | BULK-ba941dc7 |
| 8023 | Bulk Product 2ec7edf1 | Toys & Games | $514.42 | 338 | ★ 0.6 | 98 | BULK-b0d7b7c3 |
| 8024 | Bulk Product f21a39af | Toys & Games | $780.72 | 113 | ★ 4.0 | 66 | BULK-507727a6 |
| 8025 | Bulk Product b34976bc | Home & Garden | $248.52 | 77 | ★ 3.1 | 77 | BULK-e2170fd1 |
| 8026 | Bulk Product 8d814585 | Clothing | $958.17 | 16 | ★ 4.4 | 5 | BULK-3803330c |
| 8027 | Bulk Product 7157bd4d | Clothing | $924.40 | 284 | ★ 4.3 | 71 | BULK-4d4eefab |
| 8028 | Bulk Product cb2affb5 | Sports & Outdoors | $895.96 | 93 | ★ 1.0 | 19 | BULK-7ac1a9e2 |
| 8029 | Bulk Product 1cbcec9e | Electronics | $733.50 | 260 | ★ 3.3 | 85 | BULK-c6275a55 |
| 8030 | Bulk Product 171a41f7 | Toys & Games | $151.34 | 365 | ★ 1.8 | 12 | BULK-c5ae0102 |
| 8031 | Bulk Product 99371955 | Sports & Outdoors | $495.66 | 128 | ★ 0.8 | 32 | BULK-a2def690 |
| 8032 | Bulk Product 1f181de2 | Electronics | $947.48 | 350 | ★ 1.4 | 47 | BULK-f7ccc8a5 |
| 8033 | Bulk Product 9c3d61a7 | Electronics | $562.79 | 475 | ★ 4.7 | 64 | BULK-6b6b0ebb |
| 8034 | Bulk Product 8aafc8bd | Home & Garden | $907.92 | 133 | ★ 4.7 | 23 | BULK-face38e2 |
| 8035 | Bulk Product 1d100d54 | Sports & Outdoors | $68.07 | 488 | ★ 3.7 | 31 | BULK-b69eb87f |
| 8036 | Bulk Product a92ebdd7 | Books | $108.27 | 454 | ★ 3.2 | 64 | BULK-c05e4feb |
| 8037 | Bulk Product 21b059c6 | Electronics | $34.34 | 205 | ★ 2.1 | 40 | BULK-0dadc1ad |
| 8038 | Bulk Product 0b9c4bf3 | Sports & Outdoors | $863.46 | 152 | ★ 1.8 | 74 | BULK-746a3199 |
| 8039 | Bulk Product 558f7eba | Electronics | $278.65 | 81 | ★ 3.7 | 22 | BULK-0127635c |
| 8040 | Bulk Product 019f162b | Sports & Outdoors | $99.56 | 425 | ★ 2.3 | 36 | BULK-c1776f01 |
| 8041 | Bulk Product c5d5452f | Toys & Games | $349.91 | 29 | ★ 0.2 | 59 | BULK-fc511b47 |
| 8042 | Bulk Product c4b42a74 | Books | $112.14 | 476 | ★ 0.0 | 79 | BULK-6c3562a8 |
| 8043 | Bulk Product 7cd13682 | Clothing | $781.30 | 188 | ★ 0.6 | 98 | BULK-ba2edc3a |
| 8044 | Bulk Product 4a7f8953 | Sports & Outdoors | $501.33 | 389 | ★ 0.1 | 79 | BULK-354a1fd2 |
| 8045 | Bulk Product aec0cabd | Sports & Outdoors | $357.62 | 99 | ★ 0.9 | 68 | BULK-89ec18c5 |
| 8046 | Bulk Product 5bef4070 | Clothing | $531.05 | 441 | ★ 1.2 | 13 | BULK-e611c08c |
| 8047 | Bulk Product c1529565 | Clothing | $905.78 | 389 | ★ 4.1 | 54 | BULK-69292123 |
| 8048 | Bulk Product 787470aa | Books | $514.97 | 290 | ★ 0.8 | 76 | BULK-8dad1d40 |
| 8049 | Bulk Product ca5cdf5f | Electronics | $1,005.18 | 352 | ★ 3.0 | 70 | BULK-9ef2b7ba |
| 8050 | Bulk Product c8e008ba | Home & Garden | $669.47 | 294 | ★ 2.2 | 37 | BULK-cd12dfbf |
| 8051 | Bulk Product 0aaaad07 | Sports & Outdoors | $296.35 | 256 | ★ 3.6 | 11 | BULK-63a60c54 |
| 8052 | Bulk Product 919d0315 | Home & Garden | $396.29 | 193 | ★ 3.6 | 74 | BULK-241d0b37 |
| 8053 | Bulk Product ccdfd4f6 | Clothing | $817.80 | 196 | ★ 0.6 | 59 | BULK-ed2993ae |
| 8054 | Bulk Product 54615788 | Sports & Outdoors | $98.52 | 471 | ★ 2.4 | 43 | BULK-87518474 |
| 8055 | Bulk Product 9a117134 | Electronics | $486.87 | 416 | ★ 2.1 | 19 | BULK-dcfebb51 |
| 8056 | Bulk Product 5e3d039b | Home & Garden | $192.96 | 204 | ★ 3.6 | 21 | BULK-a78fb301 |
| 8057 | Bulk Product a2a59fe0 | Toys & Games | $57.51 | 484 | ★ 3.4 | 30 | BULK-453a49b9 |
| 8058 | Bulk Product d1ca3315 | Books | $380.94 | 323 | ★ 0.5 | 86 | BULK-6dba9db8 |
| 8059 | Bulk Product b42a751d | Toys & Games | $777.95 | 117 | ★ 4.7 | 41 | BULK-378a58e3 |
// 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
};
}