Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 14710 | Bulk Product 2a3c2777 | Sports & Outdoors | $830.84 | 45 | ★ 0.4 | 63 | BULK-c546db20 |
| 14711 | Bulk Product 12977179 | Sports & Outdoors | $152.29 | 98 | ★ 0.5 | 93 | BULK-2014d5f9 |
| 14712 | Bulk Product 9f0b5d93 | Books | $844.19 | 401 | ★ 1.4 | 69 | BULK-fcec8b51 |
| 14713 | Bulk Product 8c91dd71 | Books | $961.74 | 459 | ★ 1.8 | 54 | BULK-799a57f8 |
| 14714 | Bulk Product 7ca6f653 | Home & Garden | $544.96 | 280 | ★ 4.5 | 71 | BULK-2ab00c6e |
| 14715 | Bulk Product 42e47ac5 | Electronics | $127.30 | 155 | ★ 1.1 | 22 | BULK-63fd7d87 |
| 14716 | Bulk Product 2fc3af54 | Clothing | $605.49 | 343 | ★ 0.1 | 70 | BULK-d7894916 |
| 14717 | Bulk Product 117995ec | Home & Garden | $146.66 | 110 | ★ 2.2 | 82 | BULK-fa56afde |
| 14718 | Bulk Product 40a570a9 | Clothing | $573.07 | 24 | ★ 2.1 | 55 | BULK-8e6c4701 |
| 14719 | Bulk Product d91d5bb2 | Home & Garden | $186.97 | 18 | ★ 0.2 | 27 | BULK-9c5d1e2b |
| 14720 | Bulk Product f3324795 | Home & Garden | $245.76 | 279 | ★ 3.7 | 46 | BULK-a19bbdd2 |
| 14721 | Bulk Product 27ad7cf7 | Home & Garden | $207.45 | 313 | ★ 0.5 | 49 | BULK-35106cd4 |
| 14722 | Bulk Product 8e7bf0fb | Books | $734.86 | 458 | ★ 2.3 | 37 | BULK-42889131 |
| 14723 | Bulk Product 6663aabc | Home & Garden | $468.39 | 116 | ★ 1.3 | 91 | BULK-603a415d |
| 14724 | Bulk Product a7803412 | Books | $364.65 | 335 | ★ 3.8 | 22 | BULK-c6db263a |
| 14725 | Bulk Product 1a14044d | Sports & Outdoors | $116.41 | 109 | ★ 2.1 | 45 | BULK-d0226918 |
| 14726 | Bulk Product 6233053f | Clothing | $489.30 | 372 | ★ 4.2 | 12 | BULK-63b510d2 |
| 14727 | Bulk Product a9603b8a | Home & Garden | $546.71 | 60 | ★ 3.4 | 71 | BULK-00fd1bb4 |
| 14728 | Bulk Product e4b64839 | Toys & Games | $999.62 | 7 | ★ 0.7 | 72 | BULK-dcbc0a61 |
| 14729 | Bulk Product c2b9e6ed | Home & Garden | $536.62 | 271 | ★ 3.1 | 20 | BULK-1c1f74e7 |
| 14730 | Bulk Product 43821dab | Toys & Games | $321.12 | 71 | ★ 1.4 | 34 | BULK-8915dfa8 |
| 14731 | Bulk Product 1b0dd9bb | Books | $77.99 | 371 | ★ 4.9 | 6 | BULK-03f8c839 |
| 14732 | Bulk Product 3d0fbe4f | Sports & Outdoors | $100.73 | 470 | ★ 3.5 | 18 | BULK-f046333f |
| 14733 | Bulk Product bcab2379 | Home & Garden | $504.30 | 421 | ★ 3.3 | 27 | BULK-2b317a86 |
| 14734 | Bulk Product 5ef87bfc | Electronics | $508.70 | 187 | ★ 4.5 | 4 | BULK-81cb84bf |
| 14735 | Bulk Product 1ffb165d | Electronics | $334.53 | 160 | ★ 1.8 | 8 | BULK-2c57dded |
| 14736 | Bulk Product 239a9f9f | Books | $148.96 | 285 | ★ 4.8 | 69 | BULK-4fb21a8e |
| 14737 | Bulk Product 150661eb | Sports & Outdoors | $617.16 | 422 | ★ 2.3 | 69 | BULK-4591513e |
| 14738 | Bulk Product db1ade42 | Clothing | $450.56 | 490 | ★ 1.8 | 66 | BULK-e49dfc70 |
| 14739 | Bulk Product 9cfa5bd6 | Toys & Games | $581.32 | 261 | ★ 4.1 | 3 | BULK-0295ccae |
| 14740 | Bulk Product 3e2b2b1b | Books | $283.12 | 106 | ★ 3.8 | 58 | BULK-013149d8 |
| 14741 | Bulk Product e6363182 | Sports & Outdoors | $690.56 | 83 | ★ 2.2 | 56 | BULK-ae8d7fa2 |
| 14742 | Bulk Product dc04f688 | Clothing | $551.26 | 494 | ★ 4.5 | 58 | BULK-0a8920dc |
| 14743 | Bulk Product 9c419a30 | Books | $738.91 | 132 | ★ 2.5 | 88 | BULK-4fa63b3c |
| 14744 | Bulk Product 39db7a86 | Toys & Games | $112.31 | 392 | ★ 4.0 | 24 | BULK-5a7e3522 |
| 14745 | Bulk Product 61fabbae | Toys & Games | $793.75 | 421 | ★ 2.3 | 58 | BULK-71e2bb02 |
| 14746 | Bulk Product 2d2b833e | Electronics | $324.55 | 430 | ★ 2.5 | 21 | BULK-82762861 |
| 14747 | Bulk Product ec97a4b4 | Electronics | $976.95 | 280 | ★ 3.0 | 16 | BULK-678caf8f |
| 14748 | Bulk Product 3621691b | Electronics | $740.47 | 29 | ★ 3.9 | 91 | BULK-0d53ccfa |
| 14749 | Bulk Product 013baa00 | Toys & Games | $704.00 | 89 | ★ 2.8 | 74 | BULK-c6f2fc3a |
| 14750 | Bulk Product 482ace23 | Clothing | $833.71 | 443 | ★ 2.8 | 98 | BULK-81d7c2c0 |
| 14751 | Bulk Product d6bbd130 | Electronics | $419.66 | 290 | ★ 3.0 | 99 | BULK-3e511aee |
| 14752 | Bulk Product 58a067a0 | Clothing | $597.71 | 179 | ★ 3.6 | 27 | BULK-c2aacc04 |
| 14753 | Bulk Product 113f59aa | Electronics | $585.54 | 209 | ★ 4.3 | 56 | BULK-031f62dc |
| 14754 | Bulk Product b29447c3 | Books | $526.78 | 242 | ★ 2.4 | 53 | BULK-1245ef65 |
| 14755 | Bulk Product 10d19545 | Sports & Outdoors | $908.08 | 156 | ★ 3.9 | 67 | BULK-8c4eb3bf |
| 14756 | Bulk Product 4bbe25e1 | Toys & Games | $68.04 | 389 | ★ 1.0 | 28 | BULK-0b348978 |
| 14757 | Bulk Product d1033c55 | Electronics | $174.44 | 293 | ★ 3.4 | 56 | BULK-72a373bd |
| 14758 | Bulk Product 5f745593 | Electronics | $51.64 | 413 | ★ 3.2 | 42 | BULK-f75181cd |
| 14759 | Bulk Product 1197bf6f | Toys & Games | $245.75 | 139 | ★ 2.2 | 91 | BULK-687c320a |
// 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
};
}