Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 10160 | Bulk Product ad5a6ba4 | Electronics | $650.96 | 487 | ★ 1.6 | 77 | BULK-71fcf327 |
| 10161 | Bulk Product 99a7435f | Books | $621.16 | 442 | ★ 1.7 | 40 | BULK-da62fcc2 |
| 10162 | Bulk Product 7c6bbfaa | Electronics | $806.86 | 485 | ★ 1.7 | 27 | BULK-cf506b3e |
| 10163 | Bulk Product 15fc8bd0 | Clothing | $659.40 | 418 | ★ 3.9 | 59 | BULK-da370cc2 |
| 10164 | Bulk Product b098ff50 | Home & Garden | $739.19 | 351 | ★ 3.8 | 99 | BULK-f9cf85f7 |
| 10165 | Bulk Product fc6c23d1 | Electronics | $982.40 | 340 | ★ 1.5 | 57 | BULK-56e755bd |
| 10166 | Bulk Product 42467c07 | Books | $106.86 | 212 | ★ 0.1 | 68 | BULK-df34c6fd |
| 10167 | Bulk Product db97aae9 | Home & Garden | $377.74 | 492 | ★ 4.8 | 53 | BULK-4dd50262 |
| 10168 | Bulk Product de35a92b | Home & Garden | $470.81 | 242 | ★ 3.8 | 83 | BULK-a7530d0e |
| 10169 | Bulk Product ee6adc55 | Sports & Outdoors | $260.55 | 30 | ★ 2.8 | 41 | BULK-3a6068c5 |
| 10170 | Bulk Product 40fa0757 | Books | $616.80 | 341 | ★ 2.7 | 87 | BULK-a4037862 |
| 10171 | Bulk Product 0ab6ff0a | Electronics | $59.93 | 211 | ★ 1.0 | 52 | BULK-c23b023f |
| 10172 | Bulk Product cf7d5b63 | Home & Garden | $661.06 | 44 | ★ 3.9 | 35 | BULK-51f51749 |
| 10173 | Bulk Product f7d8e2f0 | Home & Garden | $112.20 | 200 | ★ 0.4 | 19 | BULK-39c6ed03 |
| 10174 | Bulk Product 4a67fe33 | Toys & Games | $358.49 | 268 | ★ 1.8 | 76 | BULK-0a2ec4a5 |
| 10175 | Bulk Product a46487f2 | Toys & Games | $314.41 | 258 | ★ 2.8 | 9 | BULK-0964b1ba |
| 10176 | Bulk Product 8521dcfa | Toys & Games | $55.70 | 199 | ★ 0.1 | 62 | BULK-d71c5dc1 |
| 10177 | Bulk Product b3246f01 | Electronics | $251.91 | 464 | ★ 4.0 | 56 | BULK-3afad53e |
| 10178 | Bulk Product ea6da286 | Sports & Outdoors | $292.54 | 445 | ★ 1.9 | 84 | BULK-95b6d284 |
| 10179 | Bulk Product 68421703 | Clothing | $313.29 | 93 | ★ 0.5 | 60 | BULK-bf34bfff |
| 10180 | Bulk Product 321bd90a | Toys & Games | $936.22 | 384 | ★ 4.9 | 71 | BULK-1d2e56c7 |
| 10181 | Bulk Product b417f872 | Electronics | $953.45 | 209 | ★ 2.8 | 18 | BULK-39a00935 |
| 10182 | Bulk Product 83c3b6a4 | Books | $154.50 | 201 | ★ 3.9 | 6 | BULK-83b98f55 |
| 10183 | Bulk Product e9ad6bfe | Home & Garden | $662.74 | 19 | ★ 0.2 | 39 | BULK-88d0205d |
| 10184 | Bulk Product 6c2b0459 | Clothing | $55.77 | 99 | ★ 4.2 | 33 | BULK-d6a5c13a |
| 10185 | Bulk Product 8cfdfe69 | Electronics | $195.67 | 32 | ★ 1.2 | 14 | BULK-425cf7c5 |
| 10186 | Bulk Product c3ee3e33 | Clothing | $157.34 | 42 | ★ 2.4 | 3 | BULK-a7626e0e |
| 10187 | Bulk Product aed76104 | Sports & Outdoors | $762.00 | 478 | ★ 3.2 | 26 | BULK-ced48ece |
| 10188 | Bulk Product d89e5a00 | Electronics | $400.29 | 136 | ★ 2.0 | 92 | BULK-2ff5574c |
| 10189 | Bulk Product 4ecce459 | Home & Garden | $426.63 | 12 | ★ 3.0 | 86 | BULK-1ce45ce1 |
| 10190 | Bulk Product 8f874e24 | Clothing | $365.70 | 135 | ★ 1.3 | 4 | BULK-5cb91bfa |
| 10191 | Bulk Product 9b73ebdf | Home & Garden | $222.89 | 446 | ★ 1.7 | 55 | BULK-a58473d2 |
| 10192 | Bulk Product b250d081 | Books | $554.49 | 262 | ★ 1.1 | 0 | BULK-d118ace0 |
| 10193 | Bulk Product 4ce51a49 | Sports & Outdoors | $197.56 | 439 | ★ 0.9 | 46 | BULK-6854a855 |
| 10194 | Bulk Product 4600f6fd | Toys & Games | $91.98 | 450 | ★ 4.8 | 23 | BULK-6a7f3c59 |
| 10195 | Bulk Product 13e654a8 | Toys & Games | $547.67 | 338 | ★ 0.1 | 31 | BULK-da12aeca |
| 10196 | Bulk Product ac50b012 | Home & Garden | $313.10 | 301 | ★ 2.6 | 7 | BULK-37d410be |
| 10197 | Bulk Product d08cb9cc | Books | $151.33 | 389 | ★ 1.2 | 85 | BULK-df17dd71 |
| 10198 | Bulk Product b05ad77d | Sports & Outdoors | $219.92 | 312 | ★ 0.4 | 57 | BULK-15bc0dd3 |
| 10199 | Bulk Product 41ca7103 | Clothing | $642.87 | 10 | ★ 3.5 | 27 | BULK-a5b0910d |
| 10200 | Bulk Product 12d6c208 | Books | $221.20 | 251 | ★ 2.7 | 48 | BULK-db493b1e |
| 10201 | Bulk Product e09b1899 | Sports & Outdoors | $454.32 | 482 | ★ 3.7 | 34 | BULK-d759def0 |
| 10202 | Bulk Product fc65780c | Sports & Outdoors | $806.39 | 318 | ★ 0.8 | 39 | BULK-2b619cce |
| 10203 | Bulk Product 418a8522 | Home & Garden | $187.05 | 296 | ★ 3.5 | 99 | BULK-0a23d8e2 |
| 10204 | Bulk Product bd9ed0df | Sports & Outdoors | $418.11 | 446 | ★ 2.7 | 38 | BULK-e4bd0b67 |
| 10205 | Bulk Product 894e6a9e | Electronics | $75.56 | 395 | ★ 3.7 | 99 | BULK-2bdd125b |
| 10206 | Bulk Product d968386f | Sports & Outdoors | $451.08 | 132 | ★ 3.6 | 40 | BULK-5e68a3e0 |
| 10207 | Bulk Product 39050318 | Books | $872.11 | 275 | ★ 4.6 | 60 | BULK-6ef4cf3b |
| 10208 | Bulk Product 36999a66 | Home & Garden | $128.03 | 425 | ★ 2.3 | 29 | BULK-1b36e413 |
| 10209 | Bulk Product 9fa97f9b | Sports & Outdoors | $720.18 | 271 | ★ 0.8 | 63 | BULK-a9ffe1a7 |
// 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
};
}