Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 11760 | Bulk Product 15285987 | Sports & Outdoors | $942.81 | 240 | ★ 1.5 | 13 | BULK-42ee143c |
| 11761 | Bulk Product 6165e007 | Books | $461.07 | 364 | ★ 1.2 | 39 | BULK-f1d18593 |
| 11762 | Bulk Product 6b7c1cd1 | Home & Garden | $932.66 | 174 | ★ 3.9 | 50 | BULK-f2e83596 |
| 11763 | Bulk Product ad38503b | Electronics | $50.73 | 314 | ★ 1.8 | 5 | BULK-01391dae |
| 11764 | Bulk Product b8b36171 | Sports & Outdoors | $487.42 | 79 | ★ 3.6 | 54 | BULK-a509d47d |
| 11765 | Bulk Product db03baaf | Home & Garden | $720.99 | 148 | ★ 4.7 | 80 | BULK-a6008c92 |
| 11766 | Bulk Product f2ac9363 | Books | $517.99 | 485 | ★ 0.9 | 15 | BULK-7f73bcd7 |
| 11767 | Bulk Product 627dd210 | Electronics | $474.05 | 225 | ★ 2.9 | 67 | BULK-69aba7e0 |
| 11768 | Bulk Product 8187fb9d | Sports & Outdoors | $45.75 | 130 | ★ 4.0 | 47 | BULK-aa0fd431 |
| 11769 | Bulk Product b0285793 | Electronics | $443.41 | 428 | ★ 4.6 | 62 | BULK-dc19a3bb |
| 11770 | Bulk Product 4ef243d2 | Electronics | $653.00 | 284 | ★ 4.2 | 27 | BULK-859e6945 |
| 11771 | Bulk Product c70fdf0f | Books | $615.15 | 39 | ★ 2.9 | 72 | BULK-1d7ee25e |
| 11772 | Bulk Product abb7854b | Clothing | $527.40 | 26 | ★ 0.5 | 77 | BULK-f3912570 |
| 11773 | Bulk Product 68f75db4 | Home & Garden | $686.10 | 212 | ★ 4.9 | 34 | BULK-161cfbf8 |
| 11774 | Bulk Product 13192b2a | Toys & Games | $538.16 | 203 | ★ 2.9 | 2 | BULK-9665d396 |
| 11775 | Bulk Product d2dc0d99 | Electronics | $125.14 | 285 | ★ 1.2 | 38 | BULK-fa1d7245 |
| 11776 | Bulk Product a9ea71fe | Electronics | $830.16 | 122 | ★ 3.2 | 90 | BULK-428d223b |
| 11777 | Bulk Product d561b5ba | Home & Garden | $981.78 | 450 | ★ 1.5 | 95 | BULK-63551241 |
| 11778 | Bulk Product f1f0c9e1 | Sports & Outdoors | $862.08 | 118 | ★ 2.0 | 3 | BULK-b3fe488e |
| 11779 | Bulk Product 41d4535d | Books | $623.06 | 108 | ★ 2.3 | 8 | BULK-7be14979 |
| 11780 | Bulk Product 0999880f | Electronics | $348.36 | 416 | ★ 1.3 | 37 | BULK-2bcb64ce |
| 11781 | Bulk Product b10b9828 | Books | $158.26 | 452 | ★ 3.1 | 8 | BULK-5382b3e4 |
| 11782 | Bulk Product 594d93bc | Clothing | $120.15 | 400 | ★ 3.7 | 5 | BULK-a0498384 |
| 11783 | Bulk Product cfa0d165 | Sports & Outdoors | $905.77 | 163 | ★ 3.6 | 37 | BULK-a9c35b28 |
| 11784 | Bulk Product c0035b1f | Books | $795.40 | 241 | ★ 3.2 | 84 | BULK-4faac094 |
| 11785 | Bulk Product 1994243c | Sports & Outdoors | $814.09 | 323 | ★ 4.2 | 43 | BULK-28a7a61b |
| 11786 | Bulk Product 5f912469 | Clothing | $546.57 | 104 | ★ 3.2 | 82 | BULK-66f1b921 |
| 11787 | Bulk Product a8d94a91 | Sports & Outdoors | $97.93 | 188 | ★ 1.5 | 29 | BULK-351b3c6f |
| 11788 | Bulk Product 608ee668 | Home & Garden | $731.45 | 93 | ★ 1.3 | 19 | BULK-b74c4a5b |
| 11789 | Bulk Product ffbcca76 | Toys & Games | $332.18 | 335 | ★ 3.1 | 58 | BULK-a16dcda9 |
| 11790 | Bulk Product 3292d131 | Clothing | $197.63 | 449 | ★ 3.2 | 12 | BULK-cee69fad |
| 11791 | Bulk Product db07b7ee | Home & Garden | $586.34 | 365 | ★ 4.7 | 47 | BULK-9984e2e8 |
| 11792 | Bulk Product b62db61a | Home & Garden | $488.52 | 66 | ★ 3.4 | 52 | BULK-3d056d0b |
| 11793 | Bulk Product ccbc445e | Electronics | $547.43 | 197 | ★ 3.8 | 30 | BULK-0d8f4430 |
| 11794 | Bulk Product 642c1f2c | Toys & Games | $689.34 | 342 | ★ 4.9 | 65 | BULK-0b7c3886 |
| 11795 | Bulk Product 0d8ad150 | Books | $102.57 | 72 | ★ 4.0 | 45 | BULK-b4bd2213 |
| 11796 | Bulk Product 6ac71313 | Clothing | $779.90 | 41 | ★ 3.9 | 89 | BULK-5552ff76 |
| 11797 | Bulk Product 9a2e216f | Sports & Outdoors | $164.16 | 351 | ★ 0.2 | 50 | BULK-5c7bb65f |
| 11798 | Bulk Product 0f871e39 | Sports & Outdoors | $864.11 | 239 | ★ 4.5 | 84 | BULK-7711b1cc |
| 11799 | Bulk Product 809b40c1 | Books | $815.97 | 283 | ★ 4.2 | 65 | BULK-ee476982 |
| 11800 | Bulk Product 6ad81330 | Books | $282.38 | 55 | ★ 2.3 | 22 | BULK-640db75e |
| 11801 | Bulk Product 5fbc1eba | Toys & Games | $565.48 | 337 | ★ 1.2 | 90 | BULK-6c959c02 |
| 11802 | Bulk Product f89306d9 | Clothing | $205.07 | 246 | ★ 1.5 | 72 | BULK-06002891 |
| 11803 | Bulk Product 7a1d1c61 | Books | $169.15 | 319 | ★ 0.5 | 51 | BULK-44f840c0 |
| 11804 | Bulk Product e4bc86af | Clothing | $209.48 | 135 | ★ 0.3 | 49 | BULK-5f984dc9 |
| 11805 | Bulk Product 596fdf2a | Toys & Games | $873.39 | 107 | ★ 2.8 | 77 | BULK-2d61e964 |
| 11806 | Bulk Product 024bc0cc | Books | $574.82 | 231 | ★ 1.1 | 94 | BULK-7a106fa5 |
| 11807 | Bulk Product 60ed16db | Clothing | $246.09 | 454 | ★ 1.3 | 50 | BULK-2110b585 |
| 11808 | Bulk Product de71d115 | Electronics | $293.91 | 112 | ★ 4.5 | 71 | BULK-40c3143e |
| 11809 | Bulk Product be6d56f5 | Electronics | $354.89 | 467 | ★ 0.7 | 28 | BULK-65975def |
// 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
};
}