Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 10660 | Bulk Product 7e586476 | Clothing | $445.46 | 97 | ★ 1.2 | 77 | BULK-8daa7aa8 |
| 10661 | Bulk Product 0e16e342 | Toys & Games | $417.03 | 2 | ★ 2.1 | 33 | BULK-b16f8a58 |
| 10662 | Bulk Product 6e2041bb | Books | $224.66 | 83 | ★ 1.2 | 26 | BULK-cea8e0ea |
| 10663 | Bulk Product b153d877 | Home & Garden | $867.05 | 83 | ★ 1.8 | 50 | BULK-0b7e4832 |
| 10664 | Bulk Product a1547619 | Sports & Outdoors | $928.30 | 75 | ★ 1.3 | 0 | BULK-ddd0180a |
| 10665 | Bulk Product 2b4f8b72 | Toys & Games | $471.64 | 61 | ★ 3.1 | 97 | BULK-5b2dd21c |
| 10666 | Bulk Product 8cced5f4 | Home & Garden | $783.53 | 227 | ★ 3.4 | 42 | BULK-e6bc51e9 |
| 10667 | Bulk Product c586219b | Books | $289.22 | 373 | ★ 1.9 | 39 | BULK-a51030ef |
| 10668 | Bulk Product e5fc6de3 | Home & Garden | $378.43 | 327 | ★ 2.9 | 42 | BULK-5fe63521 |
| 10669 | Bulk Product ee92d041 | Home & Garden | $598.25 | 229 | ★ 2.5 | 93 | BULK-2303b016 |
| 10670 | Bulk Product 028f9ac4 | Electronics | $875.48 | 74 | ★ 1.8 | 69 | BULK-8bc2ad55 |
| 10671 | Bulk Product 186883c7 | Home & Garden | $18.02 | 167 | ★ 2.6 | 93 | BULK-bf72ae7c |
| 10672 | Bulk Product d858b678 | Clothing | $149.03 | 150 | ★ 0.5 | 34 | BULK-48704956 |
| 10673 | Bulk Product d5cae749 | Clothing | $18.32 | 50 | ★ 4.2 | 83 | BULK-5c303a33 |
| 10674 | Bulk Product 5ebef3ca | Books | $431.80 | 337 | ★ 3.5 | 64 | BULK-49722e4d |
| 10675 | Bulk Product cfdb53c1 | Home & Garden | $792.62 | 108 | ★ 1.9 | 94 | BULK-fbbd98f5 |
| 10676 | Bulk Product e21988c8 | Toys & Games | $576.10 | 95 | ★ 4.4 | 87 | BULK-aca4aa04 |
| 10677 | Bulk Product 086af221 | Clothing | $357.28 | 484 | ★ 0.6 | 89 | BULK-cde46f81 |
| 10678 | Bulk Product 865266ef | Clothing | $193.50 | 211 | ★ 3.6 | 20 | BULK-8ca5e3ac |
| 10679 | Bulk Product 84450dbb | Toys & Games | $582.14 | 313 | ★ 0.0 | 13 | BULK-055cfa5a |
| 10680 | Bulk Product f5509f5d | Books | $406.72 | 489 | ★ 2.4 | 98 | BULK-dbf306ea |
| 10681 | Bulk Product d5e5afb9 | Books | $132.09 | 250 | ★ 0.6 | 78 | BULK-2e49d964 |
| 10682 | Bulk Product 186d9b36 | Electronics | $920.58 | 493 | ★ 2.0 | 9 | BULK-02666f8a |
| 10683 | Bulk Product fc7a415c | Clothing | $1,008.62 | 387 | ★ 2.1 | 82 | BULK-0c9dac21 |
| 10684 | Bulk Product b2e3b7e6 | Clothing | $621.22 | 342 | ★ 2.2 | 34 | BULK-7e38bfd8 |
| 10685 | Bulk Product 28ed9958 | Clothing | $126.84 | 396 | ★ 1.0 | 75 | BULK-f6dc2c5c |
| 10686 | Bulk Product a2333f7d | Sports & Outdoors | $409.75 | 371 | ★ 2.8 | 24 | BULK-5991d1d3 |
| 10687 | Bulk Product 227c02ae | Home & Garden | $579.83 | 284 | ★ 4.7 | 6 | BULK-7108eff2 |
| 10688 | Bulk Product c0c2659a | Home & Garden | $31.76 | 363 | ★ 1.1 | 28 | BULK-5d1af5d3 |
| 10689 | Bulk Product b527e534 | Books | $386.72 | 89 | ★ 0.8 | 77 | BULK-6d3561d7 |
| 10690 | Bulk Product 43542f3e | Books | $827.00 | 45 | ★ 1.2 | 73 | BULK-680e3d82 |
| 10691 | Bulk Product 384ca041 | Electronics | $440.13 | 384 | ★ 2.7 | 27 | BULK-252e9892 |
| 10692 | Bulk Product ec4890c4 | Books | $610.19 | 229 | ★ 4.1 | 31 | BULK-b6e6e1ac |
| 10693 | Bulk Product c2c2ecce | Clothing | $885.48 | 63 | ★ 4.7 | 70 | BULK-5ec3024d |
| 10694 | Bulk Product 03571621 | Clothing | $273.22 | 45 | ★ 2.9 | 73 | BULK-f5fe2512 |
| 10695 | Bulk Product 3f8aca69 | Clothing | $527.00 | 348 | ★ 0.5 | 37 | BULK-fe350585 |
| 10696 | Bulk Product dccffa93 | Electronics | $970.80 | 356 | ★ 2.2 | 13 | BULK-293e3a98 |
| 10697 | Bulk Product 108843eb | Books | $520.78 | 425 | ★ 4.7 | 25 | BULK-ea8e3793 |
| 10698 | Bulk Product ec0934db | Toys & Games | $795.45 | 214 | ★ 2.9 | 37 | BULK-fe06b53b |
| 10699 | Bulk Product df9cb5a7 | Books | $455.64 | 5 | ★ 1.9 | 48 | BULK-6a9166ac |
| 10700 | Bulk Product fcf58629 | Home & Garden | $603.21 | 416 | ★ 0.2 | 72 | BULK-a66c8b9a |
| 10701 | Bulk Product 4b813be1 | Electronics | $742.60 | 276 | ★ 1.3 | 1 | BULK-33d78525 |
| 10702 | Bulk Product 4d71fa0e | Toys & Games | $763.86 | 16 | ★ 4.2 | 3 | BULK-cf025d75 |
| 10703 | Bulk Product c5796626 | Clothing | $713.52 | 78 | ★ 2.5 | 18 | BULK-6c3c5a3c |
| 10704 | Bulk Product 0b9c45bf | Books | $905.32 | 134 | ★ 0.6 | 1 | BULK-795fcc32 |
| 10705 | Bulk Product 00f1b327 | Home & Garden | $413.37 | 292 | ★ 2.5 | 8 | BULK-bdeec77e |
| 10706 | Bulk Product 7fb2d205 | Clothing | $884.62 | 481 | ★ 4.0 | 79 | BULK-d9cc84c7 |
| 10707 | Bulk Product 4b90e822 | Electronics | $21.13 | 203 | ★ 0.9 | 60 | BULK-dda467ef |
| 10708 | Bulk Product e1b32a50 | Home & Garden | $590.34 | 40 | ★ 2.2 | 30 | BULK-a383fe03 |
| 10709 | Bulk Product c96d665e | Home & Garden | $782.02 | 84 | ★ 3.4 | 1 | BULK-eecc5719 |
// 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
};
}