Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 24160 | Bulk Product 6930e6df | Books | $874.38 | 0 | ★ 2.6 | 50 | BULK-1bf52115 |
| 24161 | Bulk Product c7518070 | Home & Garden | $745.51 | 477 | ★ 3.5 | 71 | BULK-b2c5fed4 |
| 24162 | Bulk Product 58f2b7e0 | Toys & Games | $1,005.31 | 451 | ★ 4.0 | 45 | BULK-db626b51 |
| 24163 | Bulk Product 66ecaa65 | Clothing | $811.18 | 448 | ★ 4.6 | 10 | BULK-78ddcac1 |
| 24164 | Bulk Product 71a99f56 | Sports & Outdoors | $359.99 | 362 | ★ 4.1 | 84 | BULK-c965d749 |
| 24165 | Bulk Product 2190dda6 | Electronics | $581.96 | 278 | ★ 0.3 | 99 | BULK-e051ad9f |
| 24166 | Bulk Product 9546db1c | Toys & Games | $263.98 | 213 | ★ 3.1 | 74 | BULK-88b08f86 |
| 24167 | Bulk Product 34d9baf9 | Toys & Games | $168.41 | 26 | ★ 1.6 | 86 | BULK-6a461e81 |
| 24168 | Bulk Product d2de2136 | Clothing | $874.02 | 253 | ★ 2.3 | 6 | BULK-748c2a0e |
| 24169 | Bulk Product 25f40a77 | Electronics | $207.72 | 337 | ★ 4.6 | 95 | BULK-171485b6 |
| 24170 | Bulk Product b4712d09 | Toys & Games | $474.96 | 434 | ★ 1.1 | 26 | BULK-4f924d60 |
| 24171 | Bulk Product 0323b1a7 | Electronics | $388.20 | 131 | ★ 3.9 | 16 | BULK-3a639307 |
| 24172 | Bulk Product ddd7fe9d | Electronics | $265.72 | 327 | ★ 2.2 | 5 | BULK-d9b4bab3 |
| 24173 | Bulk Product 444be965 | Books | $848.45 | 98 | ★ 2.5 | 24 | BULK-ece8401f |
| 24174 | Bulk Product d49110aa | Electronics | $401.77 | 103 | ★ 0.5 | 40 | BULK-b315a7c3 |
| 24175 | Bulk Product 49c35604 | Books | $672.28 | 404 | ★ 2.9 | 2 | BULK-38fbd21c |
| 24176 | Bulk Product 5d95aee6 | Home & Garden | $50.73 | 119 | ★ 0.5 | 84 | BULK-8f3df6e2 |
| 24177 | Bulk Product 0f03d507 | Home & Garden | $218.52 | 356 | ★ 3.5 | 60 | BULK-c11e3eeb |
| 24178 | Bulk Product d187606d | Toys & Games | $229.68 | 277 | ★ 3.3 | 25 | BULK-59109421 |
| 24179 | Bulk Product e2618806 | Clothing | $563.89 | 209 | ★ 1.0 | 55 | BULK-1eb5cc26 |
| 24180 | Bulk Product d4e3b3ee | Books | $204.07 | 310 | ★ 1.6 | 47 | BULK-a02e9eeb |
| 24181 | Bulk Product 7bde1e57 | Home & Garden | $913.76 | 89 | ★ 1.5 | 55 | BULK-e72f2a0e |
| 24182 | Bulk Product 009748a0 | Electronics | $666.67 | 20 | ★ 2.8 | 81 | BULK-28b78940 |
| 24183 | Bulk Product 63035bbb | Toys & Games | $545.88 | 450 | ★ 0.2 | 20 | BULK-f78fe310 |
| 24184 | Bulk Product a654f25f | Books | $188.62 | 180 | ★ 0.8 | 46 | BULK-61c32a76 |
| 24185 | Bulk Product 73f9957f | Clothing | $389.42 | 155 | ★ 0.2 | 77 | BULK-33738345 |
| 24186 | Bulk Product ecf77986 | Clothing | $690.46 | 276 | ★ 0.5 | 73 | BULK-80ac7112 |
| 24187 | Bulk Product 8be59984 | Clothing | $898.48 | 235 | ★ 2.0 | 97 | BULK-84f1b10c |
| 24188 | Bulk Product ae7ddbcf | Sports & Outdoors | $494.07 | 243 | ★ 4.4 | 37 | BULK-f4ef1a1b |
| 24189 | Bulk Product e1a18df4 | Home & Garden | $484.60 | 376 | ★ 0.5 | 22 | BULK-494f54a5 |
| 24190 | Bulk Product 172905b3 | Sports & Outdoors | $984.90 | 268 | ★ 1.2 | 64 | BULK-1a983401 |
| 24191 | Bulk Product bb3628e2 | Sports & Outdoors | $583.91 | 44 | ★ 0.5 | 27 | BULK-0f71371b |
| 24192 | Bulk Product c1a85250 | Clothing | $126.42 | 293 | ★ 4.4 | 49 | BULK-133f3051 |
| 24193 | Bulk Product e4102f06 | Electronics | $181.22 | 71 | ★ 1.8 | 98 | BULK-f59170d9 |
| 24194 | Bulk Product ed11d18c | Clothing | $669.20 | 400 | ★ 2.5 | 1 | BULK-f125e4f9 |
| 24195 | Bulk Product 4123ad7e | Electronics | $906.95 | 333 | ★ 4.7 | 70 | BULK-ae0179eb |
| 24196 | Bulk Product 866c4092 | Books | $384.19 | 133 | ★ 3.2 | 14 | BULK-1c8c15a6 |
| 24197 | Bulk Product 32aec0ee | Books | $727.68 | 56 | ★ 4.4 | 69 | BULK-2559da34 |
| 24198 | Bulk Product 4f1061c6 | Electronics | $508.74 | 249 | ★ 2.6 | 71 | BULK-6be0c851 |
| 24199 | Bulk Product 744da551 | Sports & Outdoors | $73.13 | 405 | ★ 1.9 | 49 | BULK-b49e6c83 |
| 24200 | Bulk Product e0eed6b1 | Books | $304.77 | 208 | ★ 2.8 | 24 | BULK-9586e2f8 |
| 24201 | Bulk Product 53bfad43 | Home & Garden | $563.01 | 200 | ★ 2.6 | 12 | BULK-08f9ffd1 |
| 24202 | Bulk Product fc0fcffa | Toys & Games | $414.43 | 337 | ★ 1.7 | 2 | BULK-576e97a6 |
| 24203 | Bulk Product d3a41ae8 | Sports & Outdoors | $503.12 | 38 | ★ 3.2 | 13 | BULK-80339d76 |
| 24204 | Bulk Product cbadd1fc | Clothing | $488.25 | 250 | ★ 1.6 | 36 | BULK-19fba86b |
| 24205 | Bulk Product 3d04f70a | Books | $165.35 | 382 | ★ 2.0 | 34 | BULK-25f312dc |
| 24206 | Bulk Product dbdc21cb | Toys & Games | $1,006.50 | 104 | ★ 3.5 | 89 | BULK-fd610bd4 |
| 24207 | Bulk Product 2f9c7963 | Sports & Outdoors | $339.15 | 25 | ★ 4.4 | 85 | BULK-4b3f3be8 |
| 24208 | Bulk Product c998a7aa | Electronics | $623.92 | 149 | ★ 3.4 | 55 | BULK-75ca4b30 |
| 24209 | Bulk Product 6346e790 | Electronics | $339.71 | 422 | ★ 3.9 | 47 | BULK-94bf2a41 |
// 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
};
}