Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 13060 | Bulk Product 62e99c92 | Toys & Games | $763.76 | 213 | ★ 1.4 | 12 | BULK-b4289e41 |
| 13061 | Bulk Product 75bf74e8 | Electronics | $153.35 | 304 | ★ 3.1 | 94 | BULK-981c1c79 |
| 13062 | Bulk Product 22d6d660 | Books | $364.54 | 100 | ★ 3.8 | 74 | BULK-2b41373b |
| 13063 | Bulk Product cbeda65c | Books | $443.64 | 79 | ★ 0.1 | 93 | BULK-5c5a2fe2 |
| 13064 | Bulk Product 6f0d2156 | Sports & Outdoors | $952.71 | 479 | ★ 3.8 | 88 | BULK-5c1e9817 |
| 13065 | Bulk Product 5828ae0a | Toys & Games | $401.97 | 490 | ★ 1.8 | 3 | BULK-bfdf9559 |
| 13066 | Bulk Product bbe59fd8 | Home & Garden | $912.33 | 451 | ★ 3.5 | 54 | BULK-910f28ec |
| 13067 | Bulk Product 2744bda6 | Electronics | $367.63 | 60 | ★ 3.3 | 98 | BULK-6c09d1ef |
| 13068 | Bulk Product 48eb679c | Toys & Games | $882.40 | 167 | ★ 4.8 | 93 | BULK-59d68be9 |
| 13069 | Bulk Product 352e7256 | Sports & Outdoors | $591.90 | 485 | ★ 0.9 | 60 | BULK-cc1675bd |
| 13070 | Bulk Product 5c75c8f7 | Books | $849.75 | 380 | ★ 2.1 | 46 | BULK-347a8364 |
| 13071 | Bulk Product 65d53c14 | Electronics | $746.58 | 289 | ★ 4.6 | 62 | BULK-f956726c |
| 13072 | Bulk Product 83da833f | Sports & Outdoors | $687.07 | 309 | ★ 0.7 | 51 | BULK-caa6b379 |
| 13073 | Bulk Product f2b8c444 | Clothing | $272.23 | 491 | ★ 2.8 | 51 | BULK-dd79639b |
| 13074 | Bulk Product bce4d534 | Books | $299.09 | 424 | ★ 4.2 | 5 | BULK-ce963e8d |
| 13075 | Bulk Product 9bfa47b9 | Home & Garden | $363.99 | 302 | ★ 3.8 | 51 | BULK-acd4372a |
| 13076 | Bulk Product 8069d585 | Electronics | $907.97 | 323 | ★ 2.1 | 55 | BULK-c2faf35d |
| 13077 | Bulk Product eaddf024 | Books | $389.59 | 494 | ★ 3.4 | 29 | BULK-6d45c7e9 |
| 13078 | Bulk Product cf7bf3a7 | Toys & Games | $109.63 | 0 | ★ 3.0 | 67 | BULK-77971b18 |
| 13079 | Bulk Product 74af96b7 | Books | $933.08 | 484 | ★ 0.1 | 21 | BULK-09bdb0f2 |
| 13080 | Bulk Product b9267414 | Toys & Games | $715.95 | 384 | ★ 4.8 | 30 | BULK-3dc120b1 |
| 13081 | Bulk Product b4bc41e1 | Home & Garden | $880.43 | 471 | ★ 1.5 | 91 | BULK-f8a6950f |
| 13082 | Bulk Product f008504b | Toys & Games | $734.75 | 158 | ★ 3.2 | 88 | BULK-2310eda7 |
| 13083 | Bulk Product d5820e0d | Sports & Outdoors | $754.63 | 241 | ★ 1.3 | 26 | BULK-060ee2ce |
| 13084 | Bulk Product cd29862d | Home & Garden | $892.46 | 66 | ★ 0.0 | 35 | BULK-e6e27509 |
| 13085 | Bulk Product a50b813e | Sports & Outdoors | $950.96 | 269 | ★ 3.8 | 4 | BULK-e46fbf46 |
| 13086 | Bulk Product 90e74864 | Home & Garden | $996.43 | 280 | ★ 1.9 | 50 | BULK-43cbcfab |
| 13087 | Bulk Product e38988ec | Toys & Games | $994.35 | 446 | ★ 0.5 | 56 | BULK-9d75c28c |
| 13088 | Bulk Product b15fd89f | Toys & Games | $514.16 | 351 | ★ 0.8 | 5 | BULK-a04b70bd |
| 13089 | Bulk Product 590cd7f3 | Clothing | $980.11 | 347 | ★ 2.9 | 67 | BULK-3d81c3d6 |
| 13090 | Bulk Product a999b055 | Clothing | $354.05 | 325 | ★ 0.4 | 24 | BULK-aef05e62 |
| 13091 | Bulk Product ef9ab6cd | Toys & Games | $568.68 | 321 | ★ 2.0 | 14 | BULK-5015c699 |
| 13092 | Bulk Product caee06d3 | Home & Garden | $961.87 | 59 | ★ 1.8 | 73 | BULK-898555ed |
| 13093 | Bulk Product cb81df54 | Electronics | $1,003.61 | 276 | ★ 1.9 | 84 | BULK-4737486b |
| 13094 | Bulk Product fe0bbe3a | Electronics | $127.38 | 195 | ★ 1.4 | 4 | BULK-93f87fd4 |
| 13095 | Bulk Product edcbf941 | Sports & Outdoors | $338.39 | 490 | ★ 1.4 | 92 | BULK-fe2e3930 |
| 13096 | Bulk Product da84af26 | Home & Garden | $412.78 | 342 | ★ 3.7 | 27 | BULK-8032d133 |
| 13097 | Bulk Product 944dfcba | Electronics | $234.55 | 276 | ★ 4.2 | 44 | BULK-3b267432 |
| 13098 | Bulk Product c918594c | Books | $147.10 | 9 | ★ 2.6 | 86 | BULK-d965121f |
| 13099 | Bulk Product 16095b2a | Books | $1,000.51 | 226 | ★ 2.1 | 3 | BULK-17b34e6c |
| 13100 | Bulk Product 5e1c3165 | Electronics | $750.77 | 112 | ★ 4.2 | 3 | BULK-c1f82df9 |
| 13101 | Bulk Product bfed37a6 | Toys & Games | $42.92 | 491 | ★ 2.6 | 49 | BULK-b47ac71c |
| 13102 | Bulk Product 9ca20455 | Books | $176.68 | 397 | ★ 2.5 | 4 | BULK-65f736d6 |
| 13103 | Bulk Product 1bd80052 | Sports & Outdoors | $111.51 | 389 | ★ 4.9 | 27 | BULK-45b46d96 |
| 13104 | Bulk Product 14c98b32 | Sports & Outdoors | $633.40 | 374 | ★ 1.2 | 47 | BULK-c187785f |
| 13105 | Bulk Product 3e4c14d5 | Clothing | $814.86 | 458 | ★ 3.7 | 79 | BULK-1393b59d |
| 13106 | Bulk Product 0e7aa4cb | Home & Garden | $171.76 | 275 | ★ 0.1 | 32 | BULK-5052ff96 |
| 13107 | Bulk Product 93c72be9 | Toys & Games | $489.08 | 94 | ★ 3.8 | 5 | BULK-b14166cb |
| 13108 | Bulk Product f91314a6 | Sports & Outdoors | $58.76 | 37 | ★ 4.9 | 11 | BULK-a935ac5f |
| 13109 | Bulk Product 6839b6dd | Home & Garden | $633.78 | 438 | ★ 4.2 | 87 | BULK-65d82858 |
// 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
};
}