Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 21910 | Bulk Product be76c595 | Sports & Outdoors | $827.71 | 270 | ★ 2.8 | 56 | BULK-3abbea8e |
| 21911 | Bulk Product 2efd8742 | Clothing | $388.26 | 370 | ★ 2.6 | 88 | BULK-59aadf89 |
| 21912 | Bulk Product c45d984b | Toys & Games | $489.87 | 296 | ★ 2.9 | 38 | BULK-f1d73134 |
| 21913 | Bulk Product bfaaf3ff | Toys & Games | $567.00 | 66 | ★ 2.0 | 81 | BULK-36564cfb |
| 21914 | Bulk Product 15332c43 | Electronics | $116.59 | 346 | ★ 1.1 | 91 | BULK-42556a02 |
| 21915 | Bulk Product 66593730 | Sports & Outdoors | $930.99 | 338 | ★ 2.6 | 25 | BULK-ace3a94b |
| 21916 | Bulk Product e3fd5b46 | Toys & Games | $393.45 | 72 | ★ 1.7 | 40 | BULK-1ee353a7 |
| 21917 | Bulk Product a5851116 | Electronics | $652.79 | 426 | ★ 1.0 | 23 | BULK-fa688dc2 |
| 21918 | Bulk Product 471c1387 | Sports & Outdoors | $156.59 | 436 | ★ 0.4 | 40 | BULK-1d4034c1 |
| 21919 | Bulk Product 8ad9039f | Clothing | $649.75 | 479 | ★ 3.3 | 49 | BULK-14c156ab |
| 21920 | Bulk Product 4af8c52d | Toys & Games | $249.55 | 176 | ★ 3.3 | 27 | BULK-73cb2f4f |
| 21921 | Bulk Product 3080894d | Toys & Games | $766.22 | 46 | ★ 1.4 | 60 | BULK-0c0c64d7 |
| 21922 | Bulk Product 09159d3d | Toys & Games | $451.46 | 333 | ★ 1.7 | 59 | BULK-74c7c1d0 |
| 21923 | Bulk Product e9e87229 | Books | $346.89 | 395 | ★ 0.5 | 56 | BULK-3b5169dd |
| 21924 | Bulk Product c7a3d77a | Sports & Outdoors | $380.31 | 404 | ★ 1.4 | 79 | BULK-5881d0d0 |
| 21925 | Bulk Product 27ee31c2 | Clothing | $82.16 | 401 | ★ 4.9 | 1 | BULK-59cba654 |
| 21926 | Bulk Product 076fa462 | Electronics | $939.08 | 51 | ★ 2.1 | 8 | BULK-fb6c5852 |
| 21927 | Bulk Product 82e05901 | Books | $630.76 | 340 | ★ 2.2 | 58 | BULK-d7d7356f |
| 21928 | Bulk Product f7e9cabc | Clothing | $411.12 | 227 | ★ 4.3 | 89 | BULK-28cbca85 |
| 21929 | Bulk Product 2ca24dc1 | Home & Garden | $378.68 | 247 | ★ 3.0 | 46 | BULK-acb65c9a |
| 21930 | Bulk Product ff4ac5aa | Toys & Games | $927.00 | 407 | ★ 0.9 | 99 | BULK-671ad74f |
| 21931 | Bulk Product 69e1e5e1 | Home & Garden | $653.44 | 401 | ★ 1.8 | 64 | BULK-bd17db69 |
| 21932 | Bulk Product 6afb6612 | Toys & Games | $454.03 | 446 | ★ 0.2 | 77 | BULK-99c3136b |
| 21933 | Bulk Product 761de609 | Sports & Outdoors | $255.96 | 99 | ★ 4.2 | 18 | BULK-5f9bbf0b |
| 21934 | Bulk Product 9722224a | Books | $514.88 | 10 | ★ 0.1 | 29 | BULK-95f528e8 |
| 21935 | Bulk Product f6847875 | Toys & Games | $138.27 | 432 | ★ 4.2 | 88 | BULK-859ef5f8 |
| 21936 | Bulk Product b8f6482c | Electronics | $814.45 | 13 | ★ 0.7 | 44 | BULK-6df94678 |
| 21937 | Bulk Product 80a9c83d | Sports & Outdoors | $39.16 | 286 | ★ 2.6 | 40 | BULK-903a659b |
| 21938 | Bulk Product 6523771f | Books | $922.83 | 108 | ★ 2.1 | 32 | BULK-c045f08b |
| 21939 | Bulk Product dbbd2962 | Sports & Outdoors | $615.38 | 452 | ★ 0.1 | 67 | BULK-0273eeba |
| 21940 | Bulk Product 7e791298 | Home & Garden | $627.54 | 215 | ★ 4.8 | 35 | BULK-e7238f18 |
| 21941 | Bulk Product 65eb0b8d | Clothing | $405.55 | 389 | ★ 4.4 | 14 | BULK-fb7d4cf7 |
| 21942 | Bulk Product 710cfdf5 | Toys & Games | $871.50 | 125 | ★ 0.4 | 32 | BULK-83280812 |
| 21943 | Bulk Product f5918a4c | Home & Garden | $465.64 | 410 | ★ 0.0 | 21 | BULK-174b5146 |
| 21944 | Bulk Product f6a78d21 | Electronics | $717.17 | 43 | ★ 3.4 | 83 | BULK-90fc48a2 |
| 21945 | Bulk Product e647b380 | Toys & Games | $318.81 | 226 | ★ 2.5 | 76 | BULK-89ada1e0 |
| 21946 | Bulk Product 9d658e3f | Clothing | $575.41 | 265 | ★ 3.2 | 56 | BULK-ec045e52 |
| 21947 | Bulk Product 675a3700 | Electronics | $829.19 | 72 | ★ 4.6 | 78 | BULK-9ffcf69d |
| 21948 | Bulk Product 5b85c54c | Clothing | $491.61 | 50 | ★ 3.8 | 19 | BULK-bd241152 |
| 21949 | Bulk Product a46f9053 | Sports & Outdoors | $613.96 | 322 | ★ 3.9 | 5 | BULK-c87b0ee1 |
| 21950 | Bulk Product 5f82b64a | Home & Garden | $923.56 | 322 | ★ 1.9 | 14 | BULK-ed91db21 |
| 21951 | Bulk Product c58e8af5 | Clothing | $740.67 | 106 | ★ 2.6 | 40 | BULK-895c6a10 |
| 21952 | Bulk Product ae4166cd | Toys & Games | $463.43 | 460 | ★ 3.3 | 77 | BULK-609d5158 |
| 21953 | Bulk Product ae8e5c9c | Clothing | $288.52 | 241 | ★ 3.8 | 99 | BULK-d35997a4 |
| 21954 | Bulk Product 576a707d | Toys & Games | $739.66 | 360 | ★ 4.7 | 33 | BULK-728e2122 |
| 21955 | Bulk Product 02de0b17 | Home & Garden | $570.82 | 444 | ★ 1.0 | 13 | BULK-b6c6c911 |
| 21956 | Bulk Product 06b8ebb0 | Toys & Games | $94.51 | 275 | ★ 0.7 | 14 | BULK-c51e2de3 |
| 21957 | Bulk Product 05d719db | Books | $703.41 | 396 | ★ 4.3 | 64 | BULK-7be05b83 |
| 21958 | Bulk Product c3775751 | Books | $510.13 | 112 | ★ 4.5 | 11 | BULK-9dd4e5b5 |
| 21959 | Bulk Product d2716ab6 | Toys & Games | $312.49 | 220 | ★ 1.0 | 37 | BULK-8811c598 |
// 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
};
}