Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 20310 | Bulk Product c86873da | Toys & Games | $748.20 | 261 | ★ 2.8 | 92 | BULK-8121d3d4 |
| 20311 | Bulk Product f08deba2 | Clothing | $589.64 | 459 | ★ 3.4 | 93 | BULK-637d15c4 |
| 20312 | Bulk Product 83493ff6 | Sports & Outdoors | $751.10 | 279 | ★ 2.9 | 16 | BULK-80fb80af |
| 20313 | Bulk Product 73e5bb3d | Clothing | $732.29 | 484 | ★ 2.9 | 89 | BULK-e3af85e3 |
| 20314 | Bulk Product 1af8bf7a | Electronics | $951.86 | 180 | ★ 3.6 | 59 | BULK-6b12fb0d |
| 20315 | Bulk Product bb7363fc | Home & Garden | $730.19 | 458 | ★ 4.0 | 16 | BULK-73057148 |
| 20316 | Bulk Product 22e24185 | Sports & Outdoors | $272.62 | 436 | ★ 3.6 | 35 | BULK-00192674 |
| 20317 | Bulk Product a1661fdd | Books | $163.02 | 340 | ★ 0.2 | 67 | BULK-00514268 |
| 20318 | Bulk Product 414d8516 | Electronics | $855.85 | 459 | ★ 0.4 | 53 | BULK-05d5d5ad |
| 20319 | Bulk Product c819bb71 | Home & Garden | $334.06 | 429 | ★ 2.0 | 92 | BULK-663eeb5d |
| 20320 | Bulk Product 56eadd24 | Home & Garden | $577.21 | 230 | ★ 2.8 | 6 | BULK-bcc8d751 |
| 20321 | Bulk Product 5aab8483 | Sports & Outdoors | $87.11 | 275 | ★ 1.7 | 14 | BULK-322a8235 |
| 20322 | Bulk Product 3b8777d1 | Electronics | $288.75 | 127 | ★ 4.3 | 12 | BULK-b889c8c9 |
| 20323 | Bulk Product 1cff7cc9 | Clothing | $436.23 | 190 | ★ 0.1 | 8 | BULK-75511343 |
| 20324 | Bulk Product bcde2394 | Books | $21.45 | 207 | ★ 0.6 | 8 | BULK-d5d1aff0 |
| 20325 | Bulk Product ba79e18f | Toys & Games | $545.59 | 234 | ★ 4.5 | 52 | BULK-cacf352b |
| 20326 | Bulk Product 38af316c | Books | $340.59 | 125 | ★ 1.5 | 47 | BULK-510340b8 |
| 20327 | Bulk Product ff9501aa | Books | $510.48 | 155 | ★ 2.9 | 42 | BULK-d87bab1e |
| 20328 | Bulk Product f65e85ae | Home & Garden | $335.43 | 498 | ★ 3.4 | 98 | BULK-0810b844 |
| 20329 | Bulk Product 461b93be | Clothing | $810.96 | 416 | ★ 3.1 | 92 | BULK-96ea2110 |
| 20330 | Bulk Product dc36c51d | Home & Garden | $294.40 | 87 | ★ 3.9 | 38 | BULK-9904c48b |
| 20331 | Bulk Product 42e6630c | Electronics | $227.81 | 361 | ★ 4.6 | 51 | BULK-2cc8dd02 |
| 20332 | Bulk Product f05c8367 | Clothing | $355.80 | 235 | ★ 2.1 | 71 | BULK-84bb9c3f |
| 20333 | Bulk Product 0a46c14b | Home & Garden | $109.11 | 258 | ★ 0.6 | 64 | BULK-ebbd9b01 |
| 20334 | Bulk Product 314e0d64 | Electronics | $968.71 | 225 | ★ 3.3 | 4 | BULK-a81c5192 |
| 20335 | Bulk Product b768a43f | Electronics | $136.73 | 152 | ★ 0.6 | 31 | BULK-1d346cda |
| 20336 | Bulk Product f8a81286 | Toys & Games | $840.72 | 214 | ★ 3.6 | 26 | BULK-494a2572 |
| 20337 | Bulk Product df4ca4d2 | Sports & Outdoors | $906.20 | 380 | ★ 4.9 | 50 | BULK-2ecd3f98 |
| 20338 | Bulk Product 9d41f971 | Home & Garden | $457.27 | 479 | ★ 3.9 | 5 | BULK-876728f3 |
| 20339 | Bulk Product 5671587f | Home & Garden | $958.57 | 44 | ★ 0.7 | 62 | BULK-1c310b87 |
| 20340 | Bulk Product 3bddccdb | Home & Garden | $701.41 | 16 | ★ 4.6 | 79 | BULK-4e8a2ca8 |
| 20341 | Bulk Product e991345a | Toys & Games | $536.49 | 145 | ★ 4.3 | 82 | BULK-0a288ace |
| 20342 | Bulk Product 965d717f | Clothing | $421.20 | 234 | ★ 2.2 | 5 | BULK-330ee3f0 |
| 20343 | Bulk Product b756cfe8 | Toys & Games | $896.51 | 340 | ★ 2.8 | 88 | BULK-61978b79 |
| 20344 | Bulk Product 41e28ac7 | Electronics | $592.87 | 89 | ★ 3.3 | 4 | BULK-cade3812 |
| 20345 | Bulk Product 075548c2 | Books | $913.91 | 428 | ★ 4.6 | 49 | BULK-9da2ef31 |
| 20346 | Bulk Product 1247f429 | Books | $885.58 | 459 | ★ 1.6 | 34 | BULK-e39d051f |
| 20347 | Bulk Product b92f78a0 | Sports & Outdoors | $123.09 | 391 | ★ 2.4 | 40 | BULK-ff890e96 |
| 20348 | Bulk Product 64326e65 | Books | $336.61 | 402 | ★ 4.3 | 88 | BULK-a6303f22 |
| 20349 | Bulk Product 1c679b92 | Toys & Games | $790.57 | 348 | ★ 0.4 | 50 | BULK-b6d22003 |
| 20350 | Bulk Product 07179aee | Clothing | $268.69 | 450 | ★ 0.8 | 41 | BULK-50e59129 |
| 20351 | Bulk Product d3313772 | Sports & Outdoors | $827.45 | 54 | ★ 4.8 | 78 | BULK-c7fd00c8 |
| 20352 | Bulk Product 36a56e72 | Home & Garden | $424.43 | 324 | ★ 2.6 | 85 | BULK-d0f5e1fd |
| 20353 | Bulk Product 2d013650 | Books | $171.59 | 376 | ★ 2.0 | 98 | BULK-32dfa0b1 |
| 20354 | Bulk Product c3f7ecd0 | Home & Garden | $649.44 | 194 | ★ 4.2 | 67 | BULK-e99627c7 |
| 20355 | Bulk Product 576c0bc6 | Toys & Games | $542.38 | 184 | ★ 4.2 | 78 | BULK-d5ef730a |
| 20356 | Bulk Product 791fdbac | Books | $911.04 | 265 | ★ 1.1 | 5 | BULK-9b491aa2 |
| 20357 | Bulk Product de01ab98 | Home & Garden | $81.48 | 133 | ★ 2.4 | 84 | BULK-b64d91a7 |
| 20358 | Bulk Product 8108596c | Sports & Outdoors | $96.24 | 52 | ★ 2.2 | 58 | BULK-425e02a7 |
| 20359 | Bulk Product 91a7cacc | Clothing | $606.52 | 450 | ★ 2.5 | 2 | BULK-7fb0b445 |
// 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
};
}