Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 13910 | Bulk Product 37a9ec5d | Electronics | $754.02 | 51 | ★ 3.7 | 79 | BULK-29dfdfea |
| 13911 | Bulk Product ca752b6f | Toys & Games | $865.72 | 150 | ★ 0.7 | 10 | BULK-d97666b2 |
| 13912 | Bulk Product 41f00043 | Books | $527.73 | 137 | ★ 0.9 | 39 | BULK-6dbc7c00 |
| 13913 | Bulk Product 6ba65c18 | Home & Garden | $654.47 | 335 | ★ 4.6 | 33 | BULK-bee4c0d6 |
| 13914 | Bulk Product 83512e6f | Books | $650.21 | 39 | ★ 0.2 | 29 | BULK-a4e6acec |
| 13915 | Bulk Product d5e19c79 | Clothing | $299.15 | 213 | ★ 4.6 | 69 | BULK-c78c6e6f |
| 13916 | Bulk Product 804974d8 | Electronics | $743.83 | 148 | ★ 4.1 | 76 | BULK-9b9996a4 |
| 13917 | Bulk Product 770f9473 | Sports & Outdoors | $875.94 | 282 | ★ 3.1 | 8 | BULK-d1e5ce2e |
| 13918 | Bulk Product ea040e48 | Sports & Outdoors | $953.99 | 351 | ★ 1.5 | 90 | BULK-2e84565d |
| 13919 | Bulk Product d6f612f0 | Home & Garden | $511.46 | 210 | ★ 3.2 | 32 | BULK-21ab9a84 |
| 13920 | Bulk Product fde396f2 | Toys & Games | $344.38 | 255 | ★ 2.0 | 71 | BULK-0abb0d55 |
| 13921 | Bulk Product ed652a9f | Books | $958.45 | 424 | ★ 1.4 | 14 | BULK-3c4eeec7 |
| 13922 | Bulk Product 4a110e74 | Toys & Games | $476.64 | 193 | ★ 3.2 | 12 | BULK-a55fa474 |
| 13923 | Bulk Product ad11b723 | Electronics | $217.86 | 387 | ★ 4.4 | 80 | BULK-729bdbf6 |
| 13924 | Bulk Product 3d785e93 | Home & Garden | $414.56 | 198 | ★ 3.5 | 8 | BULK-be7b3449 |
| 13925 | Bulk Product d6a44169 | Home & Garden | $928.44 | 444 | ★ 2.9 | 73 | BULK-cd80cc9d |
| 13926 | Bulk Product 525a3f45 | Home & Garden | $761.25 | 434 | ★ 2.1 | 0 | BULK-0f5ff968 |
| 13927 | Bulk Product ae6bd6d2 | Clothing | $296.65 | 276 | ★ 1.9 | 96 | BULK-1f79965f |
| 13928 | Bulk Product f519d02f | Books | $671.51 | 192 | ★ 3.7 | 45 | BULK-9461448a |
| 13929 | Bulk Product f2f56f41 | Clothing | $346.06 | 118 | ★ 0.0 | 48 | BULK-3c61069e |
| 13930 | Bulk Product 0cf94823 | Sports & Outdoors | $292.58 | 80 | ★ 1.8 | 57 | BULK-40896f46 |
| 13931 | Bulk Product fa478d6d | Sports & Outdoors | $710.54 | 59 | ★ 4.6 | 86 | BULK-709df55b |
| 13932 | Bulk Product 8300aafc | Books | $623.13 | 456 | ★ 4.8 | 75 | BULK-b9625adf |
| 13933 | Bulk Product aa86cf30 | Clothing | $38.34 | 183 | ★ 1.4 | 75 | BULK-d295b523 |
| 13934 | Bulk Product 9409dc70 | Electronics | $898.51 | 8 | ★ 3.3 | 64 | BULK-ba921dd9 |
| 13935 | Bulk Product 8abc2f9e | Home & Garden | $543.94 | 110 | ★ 3.9 | 83 | BULK-dab28b42 |
| 13936 | Bulk Product 4c7df935 | Toys & Games | $848.47 | 188 | ★ 3.9 | 36 | BULK-02d149f8 |
| 13937 | Bulk Product 9a64d494 | Sports & Outdoors | $999.95 | 374 | ★ 1.1 | 66 | BULK-49fcefc0 |
| 13938 | Bulk Product 9e24821d | Electronics | $892.85 | 107 | ★ 2.7 | 71 | BULK-9339ca01 |
| 13939 | Bulk Product 82cad23b | Electronics | $576.67 | 24 | ★ 2.5 | 52 | BULK-ab0db631 |
| 13940 | Bulk Product 2ea0b8aa | Electronics | $131.72 | 270 | ★ 2.1 | 99 | BULK-d11d021c |
| 13941 | Bulk Product 086ab1e5 | Books | $324.36 | 155 | ★ 5.0 | 56 | BULK-965c3453 |
| 13942 | Bulk Product 084ffa06 | Sports & Outdoors | $927.30 | 386 | ★ 3.1 | 2 | BULK-1bc4d433 |
| 13943 | Bulk Product a1ad7f5a | Electronics | $576.11 | 107 | ★ 4.7 | 88 | BULK-3167239a |
| 13944 | Bulk Product 3c00a36d | Sports & Outdoors | $78.82 | 135 | ★ 4.4 | 51 | BULK-42c554d6 |
| 13945 | Bulk Product dc17fedf | Electronics | $298.41 | 65 | ★ 2.8 | 73 | BULK-18570bce |
| 13946 | Bulk Product da5ca854 | Books | $777.71 | 492 | ★ 3.8 | 9 | BULK-e195e22c |
| 13947 | Bulk Product 604d6cbd | Toys & Games | $234.55 | 431 | ★ 4.9 | 83 | BULK-2237e30c |
| 13948 | Bulk Product d851f213 | Clothing | $583.78 | 85 | ★ 3.8 | 70 | BULK-8b48dcf8 |
| 13949 | Bulk Product e05bbd4a | Clothing | $363.64 | 314 | ★ 4.5 | 92 | BULK-6decd668 |
| 13950 | Bulk Product 6c10e359 | Toys & Games | $311.69 | 55 | ★ 1.5 | 77 | BULK-6c8da6cf |
| 13951 | Bulk Product aa5e8f8d | Home & Garden | $108.27 | 297 | ★ 1.2 | 17 | BULK-3c17ab66 |
| 13952 | Bulk Product 51726a40 | Toys & Games | $305.05 | 252 | ★ 3.7 | 92 | BULK-c4e5b204 |
| 13953 | Bulk Product b5fcf3a4 | Sports & Outdoors | $526.41 | 461 | ★ 2.1 | 55 | BULK-0cdd5d23 |
| 13954 | Bulk Product 31c3213f | Toys & Games | $598.47 | 157 | ★ 4.9 | 79 | BULK-21bd1051 |
| 13955 | Bulk Product 82d5a785 | Sports & Outdoors | $280.55 | 214 | ★ 1.5 | 34 | BULK-e90ae8c2 |
| 13956 | Bulk Product 98871844 | Electronics | $62.77 | 15 | ★ 0.0 | 47 | BULK-6ffb4567 |
| 13957 | Bulk Product d7ac0dd1 | Sports & Outdoors | $399.98 | 16 | ★ 3.8 | 34 | BULK-41c0ba4c |
| 13958 | Bulk Product ba8b7c8a | Home & Garden | $608.21 | 386 | ★ 4.3 | 55 | BULK-60feeb52 |
| 13959 | Bulk Product cff236bd | Electronics | $34.00 | 97 | ★ 4.7 | 92 | BULK-0daea6e7 |
// 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
};
}