Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 16060 | Bulk Product ea4fc162 | Sports & Outdoors | $451.91 | 416 | ★ 1.0 | 21 | BULK-aedc9421 |
| 16061 | Bulk Product ea42a5d3 | Toys & Games | $342.61 | 357 | ★ 2.7 | 80 | BULK-20540f65 |
| 16062 | Bulk Product bb56dbf0 | Electronics | $918.52 | 397 | ★ 1.3 | 96 | BULK-33b41b18 |
| 16063 | Bulk Product 512a2393 | Books | $428.93 | 372 | ★ 0.2 | 22 | BULK-3e45a39a |
| 16064 | Bulk Product 5de8e9ab | Home & Garden | $287.71 | 75 | ★ 1.2 | 63 | BULK-4d240e5d |
| 16065 | Bulk Product d65c341d | Toys & Games | $576.94 | 487 | ★ 3.6 | 18 | BULK-7f53db21 |
| 16066 | Bulk Product 9ebf2589 | Toys & Games | $557.48 | 229 | ★ 1.4 | 41 | BULK-c9d4c6ee |
| 16067 | Bulk Product 6933e705 | Clothing | $60.90 | 194 | ★ 3.3 | 61 | BULK-3780417c |
| 16068 | Bulk Product c1ca7ba7 | Books | $745.82 | 327 | ★ 1.1 | 77 | BULK-97f38047 |
| 16069 | Bulk Product c78b19ee | Home & Garden | $626.52 | 341 | ★ 4.2 | 4 | BULK-330a74c3 |
| 16070 | Bulk Product fb693919 | Electronics | $264.38 | 297 | ★ 3.2 | 74 | BULK-4caf3cb7 |
| 16071 | Bulk Product 093849b0 | Electronics | $516.43 | 137 | ★ 2.5 | 70 | BULK-c5523deb |
| 16072 | Bulk Product c6340e7b | Toys & Games | $348.92 | 147 | ★ 3.9 | 64 | BULK-69e1f0a4 |
| 16073 | Bulk Product 168f4abc | Books | $64.33 | 366 | ★ 1.8 | 23 | BULK-cf924536 |
| 16074 | Bulk Product ae39665a | Books | $999.12 | 248 | ★ 2.0 | 24 | BULK-8ac17df5 |
| 16075 | Bulk Product 2864418d | Sports & Outdoors | $347.38 | 400 | ★ 2.0 | 58 | BULK-bc59293d |
| 16076 | Bulk Product 761dd8e2 | Toys & Games | $810.86 | 157 | ★ 3.0 | 14 | BULK-ce6df1f3 |
| 16077 | Bulk Product 5805a8dd | Home & Garden | $481.19 | 451 | ★ 3.4 | 62 | BULK-1ac6e1a4 |
| 16078 | Bulk Product 219bd4a8 | Sports & Outdoors | $353.79 | 60 | ★ 3.6 | 72 | BULK-08ee7dd8 |
| 16079 | Bulk Product 1a389285 | Clothing | $762.36 | 174 | ★ 2.1 | 83 | BULK-f101dde1 |
| 16080 | Bulk Product 03ec0b62 | Electronics | $422.13 | 9 | ★ 1.6 | 51 | BULK-2c631cd1 |
| 16081 | Bulk Product 19fd1d4a | Clothing | $762.54 | 410 | ★ 0.3 | 55 | BULK-9753c012 |
| 16082 | Bulk Product c809fc70 | Electronics | $27.34 | 267 | ★ 3.8 | 50 | BULK-15be609c |
| 16083 | Bulk Product b6ab551a | Electronics | $448.40 | 330 | ★ 4.9 | 52 | BULK-866b5ac9 |
| 16084 | Bulk Product 9585c4e8 | Clothing | $732.93 | 35 | ★ 1.4 | 6 | BULK-2a09f5f3 |
| 16085 | Bulk Product 7b3daee0 | Home & Garden | $278.86 | 111 | ★ 0.1 | 68 | BULK-07bb2bd2 |
| 16086 | Bulk Product f3578889 | Home & Garden | $80.09 | 483 | ★ 4.7 | 14 | BULK-d6808e06 |
| 16087 | Bulk Product 018fa136 | Home & Garden | $105.57 | 476 | ★ 3.4 | 73 | BULK-097a082f |
| 16088 | Bulk Product c5744c76 | Toys & Games | $1,000.20 | 196 | ★ 1.8 | 38 | BULK-50c02aa9 |
| 16089 | Bulk Product 06a73f4f | Home & Garden | $432.33 | 171 | ★ 3.9 | 4 | BULK-27a4e321 |
| 16090 | Bulk Product 4db86898 | Electronics | $826.32 | 412 | ★ 4.9 | 34 | BULK-dbc965fd |
| 16091 | Bulk Product 7f7df853 | Books | $518.43 | 358 | ★ 2.8 | 7 | BULK-a8ad4c4b |
| 16092 | Bulk Product aa86b3c1 | Sports & Outdoors | $301.45 | 485 | ★ 3.7 | 8 | BULK-e936b2b5 |
| 16093 | Bulk Product c6256ed5 | Toys & Games | $185.25 | 232 | ★ 0.5 | 33 | BULK-9b74f245 |
| 16094 | Bulk Product 7b76fa9d | Toys & Games | $164.33 | 363 | ★ 0.9 | 87 | BULK-396d29a2 |
| 16095 | Bulk Product 90328f9c | Sports & Outdoors | $506.38 | 406 | ★ 4.0 | 92 | BULK-08c8a747 |
| 16096 | Bulk Product 1ecb4435 | Toys & Games | $496.76 | 493 | ★ 4.2 | 9 | BULK-2b923e59 |
| 16097 | Bulk Product 4c75e64e | Clothing | $457.08 | 71 | ★ 5.0 | 44 | BULK-85b254d9 |
| 16098 | Bulk Product b8862bf4 | Electronics | $719.33 | 341 | ★ 1.5 | 72 | BULK-e8aeee8b |
| 16099 | Bulk Product 1ac1b254 | Books | $18.13 | 370 | ★ 3.1 | 52 | BULK-18f0d82b |
| 16100 | Bulk Product cdb50d1b | Clothing | $1,008.15 | 409 | ★ 1.7 | 2 | BULK-b01d1ac0 |
| 16101 | Bulk Product 38a19a97 | Home & Garden | $267.08 | 193 | ★ 4.4 | 20 | BULK-e9fae84e |
| 16102 | Bulk Product 9638191a | Electronics | $351.33 | 34 | ★ 3.5 | 33 | BULK-7cf63518 |
| 16103 | Bulk Product 0666341d | Clothing | $628.43 | 415 | ★ 4.5 | 93 | BULK-a30b3e0b |
| 16104 | Bulk Product 0727bc81 | Home & Garden | $720.85 | 250 | ★ 0.5 | 63 | BULK-a66c1f04 |
| 16105 | Bulk Product ae5524eb | Home & Garden | $157.44 | 168 | ★ 0.6 | 93 | BULK-fb125c5b |
| 16106 | Bulk Product 7c2dba64 | Clothing | $482.37 | 107 | ★ 1.3 | 30 | BULK-3f94313c |
| 16107 | Bulk Product a5785f43 | Sports & Outdoors | $763.52 | 211 | ★ 3.0 | 75 | BULK-86b7f8bb |
| 16108 | Bulk Product a398ff3d | Toys & Games | $759.73 | 198 | ★ 4.9 | 17 | BULK-d638da1b |
| 16109 | Bulk Product 128daeae | Books | $971.24 | 151 | ★ 1.0 | 37 | BULK-41beae8f |
// 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
};
}