Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 22010 | Bulk Product c16d01d8 | Toys & Games | $355.24 | 439 | ★ 2.0 | 70 | BULK-5bb99ccc |
| 22011 | Bulk Product bf19dddc | Toys & Games | $287.11 | 461 | ★ 4.3 | 86 | BULK-3676969e |
| 22012 | Bulk Product 7ea5d8ef | Home & Garden | $417.48 | 438 | ★ 1.5 | 28 | BULK-9e5a5c35 |
| 22013 | Bulk Product a353e3a2 | Toys & Games | $515.68 | 260 | ★ 1.5 | 55 | BULK-7ba0c4df |
| 22014 | Bulk Product 44b1cb42 | Sports & Outdoors | $289.74 | 55 | ★ 1.7 | 47 | BULK-6d762abd |
| 22015 | Bulk Product 7eff2d2c | Electronics | $742.35 | 191 | ★ 2.0 | 10 | BULK-ddff5bfd |
| 22016 | Bulk Product cdab6b77 | Books | $183.82 | 100 | ★ 2.0 | 86 | BULK-a1b10bc6 |
| 22017 | Bulk Product ea6ab620 | Clothing | $763.88 | 310 | ★ 4.1 | 68 | BULK-df1e6ff5 |
| 22018 | Bulk Product c948ac66 | Home & Garden | $317.88 | 419 | ★ 1.1 | 38 | BULK-3dc5e2ee |
| 22019 | Bulk Product 8398377c | Books | $460.59 | 313 | ★ 0.7 | 22 | BULK-742abe3b |
| 22020 | Bulk Product 4fa7f4ca | Toys & Games | $423.52 | 72 | ★ 2.2 | 40 | BULK-1e36a220 |
| 22021 | Bulk Product 87477b5c | Electronics | $503.61 | 86 | ★ 3.9 | 71 | BULK-89834cad |
| 22022 | Bulk Product 141fd30e | Electronics | $898.35 | 207 | ★ 3.6 | 79 | BULK-dc3ca531 |
| 22023 | Bulk Product 9c1121a5 | Books | $218.98 | 184 | ★ 0.2 | 48 | BULK-7166432b |
| 22024 | Bulk Product ea0b0bba | Home & Garden | $903.31 | 62 | ★ 4.8 | 8 | BULK-665b46cd |
| 22025 | Bulk Product 30f28323 | Clothing | $67.08 | 4 | ★ 3.0 | 51 | BULK-7c29e66c |
| 22026 | Bulk Product a7c4cf51 | Electronics | $181.34 | 224 | ★ 1.4 | 73 | BULK-e8a3a080 |
| 22027 | Bulk Product 7e554423 | Toys & Games | $451.08 | 69 | ★ 3.1 | 93 | BULK-1ae57efd |
| 22028 | Bulk Product 2866b540 | Clothing | $736.09 | 455 | ★ 0.3 | 47 | BULK-b2ce1e35 |
| 22029 | Bulk Product c7eca61e | Clothing | $128.92 | 8 | ★ 0.4 | 19 | BULK-69bcc5cf |
| 22030 | Bulk Product a3d0af43 | Electronics | $1,008.21 | 494 | ★ 0.4 | 18 | BULK-1757c656 |
| 22031 | Bulk Product 5982d038 | Clothing | $794.59 | 433 | ★ 3.9 | 76 | BULK-75c21937 |
| 22032 | Bulk Product b05e26b7 | Electronics | $602.25 | 63 | ★ 3.2 | 58 | BULK-08538a3a |
| 22033 | Bulk Product e1c7bf30 | Electronics | $206.56 | 215 | ★ 0.8 | 0 | BULK-2443d930 |
| 22034 | Bulk Product afb4c16d | Electronics | $907.03 | 134 | ★ 3.5 | 94 | BULK-6b07ea0c |
| 22035 | Bulk Product 0f8b0231 | Clothing | $25.97 | 452 | ★ 0.9 | 73 | BULK-00c17bb1 |
| 22036 | Bulk Product d6675e53 | Clothing | $599.84 | 495 | ★ 0.3 | 41 | BULK-82ac3227 |
| 22037 | Bulk Product 3e5b88d9 | Books | $104.32 | 493 | ★ 4.1 | 52 | BULK-dda86f9f |
| 22038 | Bulk Product 905e7b9f | Clothing | $445.93 | 351 | ★ 3.0 | 66 | BULK-09ed434b |
| 22039 | Bulk Product 4ae19292 | Sports & Outdoors | $69.75 | 363 | ★ 3.3 | 89 | BULK-88a63a8a |
| 22040 | Bulk Product 9e935279 | Electronics | $117.18 | 390 | ★ 1.6 | 22 | BULK-ed3ec913 |
| 22041 | Bulk Product 768c8a0d | Sports & Outdoors | $406.68 | 376 | ★ 3.8 | 62 | BULK-ae947be3 |
| 22042 | Bulk Product dbb4dcda | Clothing | $115.63 | 413 | ★ 2.3 | 51 | BULK-a645c66d |
| 22043 | Bulk Product 82815b58 | Electronics | $752.95 | 120 | ★ 4.2 | 28 | BULK-25cc8269 |
| 22044 | Bulk Product 71d4d7df | Electronics | $136.78 | 399 | ★ 0.6 | 84 | BULK-117d773e |
| 22045 | Bulk Product e45db831 | Clothing | $786.26 | 6 | ★ 1.5 | 25 | BULK-0fe00c6d |
| 22046 | Bulk Product 6f346d7c | Clothing | $668.80 | 209 | ★ 4.6 | 73 | BULK-1b8a2a0a |
| 22047 | Bulk Product 06655c31 | Sports & Outdoors | $261.51 | 395 | ★ 4.4 | 95 | BULK-8781478a |
| 22048 | Bulk Product 4f94d086 | Sports & Outdoors | $183.29 | 198 | ★ 4.8 | 61 | BULK-150df1f7 |
| 22049 | Bulk Product 5fd4f0e2 | Toys & Games | $225.97 | 145 | ★ 3.1 | 38 | BULK-1d6c6bba |
| 22050 | Bulk Product 0a4b5f4e | Sports & Outdoors | $704.01 | 435 | ★ 3.4 | 20 | BULK-6967c915 |
| 22051 | Bulk Product 2e5d833b | Toys & Games | $211.74 | 390 | ★ 1.6 | 83 | BULK-84e67d37 |
| 22052 | Bulk Product f791f5cf | Clothing | $825.66 | 117 | ★ 4.8 | 98 | BULK-e4da2f13 |
| 22053 | Bulk Product 08f07910 | Toys & Games | $63.47 | 294 | ★ 1.1 | 3 | BULK-61ef37be |
| 22054 | Bulk Product 06b0cd86 | Electronics | $666.62 | 338 | ★ 2.7 | 81 | BULK-2f2ce620 |
| 22055 | Bulk Product 649e45b7 | Electronics | $564.93 | 329 | ★ 4.5 | 18 | BULK-181f22a7 |
| 22056 | Bulk Product f3f97886 | Electronics | $53.83 | 19 | ★ 1.1 | 77 | BULK-10665ff1 |
| 22057 | Bulk Product 128bc36f | Sports & Outdoors | $861.71 | 82 | ★ 2.0 | 52 | BULK-ff3a864e |
| 22058 | Bulk Product ab8bc88c | Toys & Games | $323.65 | 303 | ★ 1.8 | 14 | BULK-753c7cfd |
| 22059 | Bulk Product c3173fda | Electronics | $62.69 | 319 | ★ 2.1 | 27 | BULK-de6b4120 |
// 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
};
}