Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 9910 | Bulk Product 797ec522 | Electronics | $434.20 | 71 | ★ 1.3 | 72 | BULK-cfb7b6d5 |
| 9911 | Bulk Product 3c60ecb8 | Sports & Outdoors | $354.74 | 401 | ★ 4.2 | 63 | BULK-12c26eeb |
| 9912 | Bulk Product b5c060f1 | Books | $245.42 | 121 | ★ 2.5 | 57 | BULK-c9e870ec |
| 9913 | Bulk Product 8bb720c4 | Sports & Outdoors | $549.71 | 386 | ★ 4.0 | 56 | BULK-40c867ad |
| 9914 | Bulk Product 995d4509 | Clothing | $798.40 | 298 | ★ 1.1 | 28 | BULK-8b1bda7c |
| 9915 | Bulk Product b44460ba | Books | $989.30 | 87 | ★ 1.1 | 5 | BULK-ae1f9538 |
| 9916 | Bulk Product e17fb79b | Electronics | $1,006.23 | 253 | ★ 3.4 | 39 | BULK-6d5f4dd6 |
| 9917 | Bulk Product 5a030437 | Sports & Outdoors | $852.95 | 289 | ★ 1.4 | 12 | BULK-92b5674b |
| 9918 | Bulk Product 815458d2 | Home & Garden | $899.31 | 109 | ★ 1.4 | 17 | BULK-7faedec9 |
| 9919 | Bulk Product 879f746d | Toys & Games | $573.45 | 21 | ★ 2.0 | 97 | BULK-c406f834 |
| 9920 | Bulk Product dafd158f | Electronics | $117.03 | 303 | ★ 2.9 | 52 | BULK-23c46932 |
| 9921 | Bulk Product 468ea3e1 | Toys & Games | $131.57 | 436 | ★ 3.7 | 62 | BULK-1554bdeb |
| 9922 | Bulk Product 3f684e05 | Books | $41.24 | 41 | ★ 2.0 | 85 | BULK-db92ed34 |
| 9923 | Bulk Product 8e15a2af | Sports & Outdoors | $152.70 | 47 | ★ 2.6 | 85 | BULK-5c692af6 |
| 9924 | Bulk Product 66d8a505 | Books | $915.27 | 104 | ★ 2.2 | 9 | BULK-b7bd9d09 |
| 9925 | Bulk Product 1bc108c2 | Toys & Games | $1,002.27 | 94 | ★ 2.7 | 43 | BULK-9da15ae5 |
| 9926 | Bulk Product 4e39f8d9 | Sports & Outdoors | $862.45 | 285 | ★ 4.6 | 54 | BULK-d94ace2f |
| 9927 | Bulk Product 9dbac92f | Electronics | $848.80 | 41 | ★ 2.9 | 94 | BULK-fc3e4c1f |
| 9928 | Bulk Product 01d5db1c | Home & Garden | $425.87 | 351 | ★ 1.0 | 85 | BULK-0a9e169c |
| 9929 | Bulk Product a1d2531e | Home & Garden | $85.61 | 105 | ★ 3.5 | 70 | BULK-3ab9c7a5 |
| 9930 | Bulk Product 91b5a8f3 | Toys & Games | $497.07 | 469 | ★ 3.3 | 58 | BULK-72fe443b |
| 9931 | Bulk Product 9da15ae5 | Home & Garden | $585.86 | 238 | ★ 0.8 | 44 | BULK-8e891537 |
| 9932 | Bulk Product abb6ec0b | Electronics | $124.86 | 412 | ★ 2.7 | 49 | BULK-550e1275 |
| 9933 | Bulk Product 75b1d6b6 | Home & Garden | $658.02 | 262 | ★ 2.2 | 38 | BULK-aadbb4b8 |
| 9934 | Bulk Product b1fa7dd1 | Toys & Games | $569.58 | 84 | ★ 0.6 | 44 | BULK-5eaa762b |
| 9935 | Bulk Product ff8f0907 | Electronics | $399.83 | 23 | ★ 1.9 | 71 | BULK-c86268c5 |
| 9936 | Bulk Product fdfcb9cd | Toys & Games | $316.70 | 222 | ★ 1.1 | 26 | BULK-9f961f74 |
| 9937 | Bulk Product da9f2e7e | Home & Garden | $947.29 | 444 | ★ 3.5 | 80 | BULK-0bf901ff |
| 9938 | Bulk Product 869ff8b8 | Sports & Outdoors | $908.50 | 195 | ★ 4.9 | 65 | BULK-23bfbeac |
| 9939 | Bulk Product 99bb2bdd | Clothing | $445.29 | 241 | ★ 0.4 | 98 | BULK-33e7f9ca |
| 9940 | Bulk Product a9b48166 | Toys & Games | $750.10 | 229 | ★ 0.0 | 32 | BULK-61910d6c |
| 9941 | Bulk Product 86a129aa | Home & Garden | $820.43 | 446 | ★ 4.0 | 74 | BULK-95a3ef94 |
| 9942 | Bulk Product b6c63672 | Sports & Outdoors | $994.76 | 401 | ★ 4.3 | 42 | BULK-7e2676d3 |
| 9943 | Bulk Product ea6cabef | Home & Garden | $659.45 | 17 | ★ 1.2 | 87 | BULK-4ab947f8 |
| 9944 | Bulk Product 6095da45 | Clothing | $664.67 | 301 | ★ 3.2 | 18 | BULK-1de27e29 |
| 9945 | Bulk Product 3b2808b8 | Electronics | $358.19 | 1 | ★ 1.9 | 80 | BULK-50fc5f1e |
| 9946 | Bulk Product 03bf063c | Home & Garden | $131.36 | 105 | ★ 0.5 | 50 | BULK-702bae17 |
| 9947 | Bulk Product 1eb0336a | Home & Garden | $204.34 | 209 | ★ 1.0 | 96 | BULK-d7e6fa2a |
| 9948 | Bulk Product 4ee14545 | Clothing | $676.56 | 79 | ★ 4.5 | 2 | BULK-fb67f39d |
| 9949 | Bulk Product b197c155 | Electronics | $943.86 | 33 | ★ 4.4 | 55 | BULK-39d9f6c5 |
| 9950 | Bulk Product cefc6d98 | Sports & Outdoors | $683.43 | 310 | ★ 2.7 | 84 | BULK-7aa17581 |
| 9951 | Bulk Product 55d4f81c | Electronics | $344.20 | 321 | ★ 1.1 | 62 | BULK-6c3b6686 |
| 9952 | Bulk Product 02b4d018 | Toys & Games | $296.16 | 181 | ★ 1.3 | 47 | BULK-28422283 |
| 9953 | Bulk Product 2aad8fb3 | Books | $587.27 | 380 | ★ 1.4 | 88 | BULK-cd031b38 |
| 9954 | Bulk Product 329a8a0c | Clothing | $897.05 | 62 | ★ 3.1 | 59 | BULK-717b7a56 |
| 9955 | Bulk Product 748360c8 | Electronics | $760.85 | 180 | ★ 1.5 | 18 | BULK-e23bbe19 |
| 9956 | Bulk Product f1592174 | Sports & Outdoors | $884.85 | 498 | ★ 3.5 | 34 | BULK-4ba568c4 |
| 9957 | Bulk Product 4589777d | Home & Garden | $384.69 | 235 | ★ 3.5 | 7 | BULK-a854b30e |
| 9958 | Bulk Product 9a29c466 | Sports & Outdoors | $366.03 | 153 | ★ 3.9 | 26 | BULK-24537ffe |
| 9959 | Bulk Product 01a75d1a | Toys & Games | $452.87 | 321 | ★ 0.7 | 49 | BULK-390156ed |
// 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
};
}