Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 16910 | Bulk Product a3803068 | Clothing | $1,001.26 | 431 | ★ 1.8 | 44 | BULK-43a9ab48 |
| 16911 | Bulk Product 243c1e9f | Toys & Games | $692.42 | 445 | ★ 3.8 | 48 | BULK-5cb70009 |
| 16912 | Bulk Product b4b218a3 | Home & Garden | $248.15 | 246 | ★ 0.0 | 47 | BULK-deeb012a |
| 16913 | Bulk Product a4f94046 | Toys & Games | $446.36 | 357 | ★ 1.8 | 0 | BULK-017f9ecd |
| 16914 | Bulk Product 1bd18f0e | Toys & Games | $992.40 | 46 | ★ 2.0 | 6 | BULK-e8be09a7 |
| 16915 | Bulk Product e699945c | Toys & Games | $726.03 | 284 | ★ 4.9 | 0 | BULK-c5c9ba74 |
| 16916 | Bulk Product ffac3dc5 | Sports & Outdoors | $85.40 | 137 | ★ 2.3 | 9 | BULK-c55a2d25 |
| 16917 | Bulk Product d9c0bb37 | Clothing | $268.97 | 395 | ★ 1.6 | 12 | BULK-43cc2676 |
| 16918 | Bulk Product 6007c815 | Books | $958.30 | 402 | ★ 2.0 | 23 | BULK-14b0e405 |
| 16919 | Bulk Product 3d7dd88a | Home & Garden | $904.65 | 283 | ★ 4.7 | 43 | BULK-7089725c |
| 16920 | Bulk Product e8be53c9 | Home & Garden | $551.06 | 466 | ★ 4.2 | 7 | BULK-c9cac4d3 |
| 16921 | Bulk Product e1ad8915 | Clothing | $405.26 | 48 | ★ 1.8 | 60 | BULK-350c978a |
| 16922 | Bulk Product d311dd4e | Electronics | $343.32 | 322 | ★ 2.0 | 44 | BULK-f0fcf28a |
| 16923 | Bulk Product dcbd962e | Toys & Games | $983.73 | 342 | ★ 1.8 | 25 | BULK-d59daf9e |
| 16924 | Bulk Product 25b32f20 | Clothing | $223.31 | 194 | ★ 4.5 | 45 | BULK-f5745d92 |
| 16925 | Bulk Product 4d4ad95f | Books | $419.37 | 42 | ★ 0.8 | 71 | BULK-7a4db55d |
| 16926 | Bulk Product 61828933 | Electronics | $280.46 | 190 | ★ 4.2 | 15 | BULK-36ec216c |
| 16927 | Bulk Product b9bb241f | Home & Garden | $917.23 | 147 | ★ 2.2 | 39 | BULK-f9e2a4cc |
| 16928 | Bulk Product b9465927 | Electronics | $298.02 | 238 | ★ 0.5 | 53 | BULK-e92d43b6 |
| 16929 | Bulk Product afe4de78 | Home & Garden | $826.10 | 406 | ★ 1.8 | 32 | BULK-a5812833 |
| 16930 | Bulk Product 03b59ba2 | Books | $407.33 | 69 | ★ 3.2 | 18 | BULK-292047ff |
| 16931 | Bulk Product c4df0133 | Sports & Outdoors | $202.16 | 166 | ★ 4.6 | 45 | BULK-1ee80fc9 |
| 16932 | Bulk Product 1573817a | Toys & Games | $379.32 | 184 | ★ 1.0 | 32 | BULK-156aeef2 |
| 16933 | Bulk Product 7db5cc9d | Sports & Outdoors | $642.96 | 363 | ★ 1.7 | 91 | BULK-04f655da |
| 16934 | Bulk Product b53c2ba7 | Clothing | $899.76 | 326 | ★ 3.5 | 68 | BULK-3baa4a04 |
| 16935 | Bulk Product 5424cd74 | Toys & Games | $123.29 | 477 | ★ 2.7 | 0 | BULK-a8df1ed2 |
| 16936 | Bulk Product fb3e7150 | Electronics | $881.68 | 73 | ★ 1.1 | 48 | BULK-e75ab37d |
| 16937 | Bulk Product a30a7489 | Clothing | $135.47 | 185 | ★ 3.0 | 51 | BULK-53cfce90 |
| 16938 | Bulk Product 45f0a89a | Toys & Games | $575.99 | 198 | ★ 1.8 | 65 | BULK-eab8adad |
| 16939 | Bulk Product 2fb1f3b0 | Toys & Games | $760.35 | 419 | ★ 0.4 | 47 | BULK-d1a1340e |
| 16940 | Bulk Product db833714 | Electronics | $251.58 | 383 | ★ 3.3 | 31 | BULK-aed28a86 |
| 16941 | Bulk Product ee220180 | Home & Garden | $120.68 | 285 | ★ 4.4 | 50 | BULK-0b8c52c9 |
| 16942 | Bulk Product 24400e41 | Sports & Outdoors | $116.18 | 149 | ★ 1.8 | 49 | BULK-b8b7fe47 |
| 16943 | Bulk Product 854dea66 | Electronics | $878.04 | 187 | ★ 2.4 | 17 | BULK-3874a226 |
| 16944 | Bulk Product cec63173 | Books | $563.45 | 227 | ★ 1.0 | 29 | BULK-50c0b4e7 |
| 16945 | Bulk Product 0edcdac3 | Electronics | $396.76 | 405 | ★ 4.1 | 0 | BULK-8614ba12 |
| 16946 | Bulk Product 082b1467 | Sports & Outdoors | $91.28 | 211 | ★ 4.2 | 62 | BULK-ffa84bcd |
| 16947 | Bulk Product 68ad4e98 | Books | $107.59 | 337 | ★ 1.0 | 92 | BULK-bf201162 |
| 16948 | Bulk Product 944e5b07 | Home & Garden | $169.01 | 254 | ★ 2.1 | 55 | BULK-3cdb5aac |
| 16949 | Bulk Product e2cf148f | Electronics | $554.18 | 266 | ★ 4.0 | 5 | BULK-c8f4a381 |
| 16950 | Bulk Product ebcb0705 | Home & Garden | $617.13 | 255 | ★ 4.4 | 59 | BULK-e2c623c7 |
| 16951 | Bulk Product 256d1267 | Clothing | $722.76 | 420 | ★ 0.7 | 85 | BULK-50a51ef4 |
| 16952 | Bulk Product 9dbb44b2 | Home & Garden | $745.97 | 337 | ★ 4.4 | 7 | BULK-44a0c1f6 |
| 16953 | Bulk Product e1335e68 | Home & Garden | $672.50 | 19 | ★ 3.7 | 5 | BULK-fa4c47a7 |
| 16954 | Bulk Product 2eb56b8f | Toys & Games | $920.19 | 152 | ★ 2.3 | 61 | BULK-236f2887 |
| 16955 | Bulk Product 9d083c0e | Home & Garden | $614.50 | 197 | ★ 1.2 | 26 | BULK-b07105c2 |
| 16956 | Bulk Product 5b041c5e | Electronics | $690.72 | 314 | ★ 2.7 | 1 | BULK-a3baba91 |
| 16957 | Bulk Product f6bd2e32 | Sports & Outdoors | $77.73 | 217 | ★ 3.1 | 79 | BULK-c440583c |
| 16958 | Bulk Product 54541b24 | Electronics | $366.78 | 96 | ★ 4.7 | 28 | BULK-4c2767b2 |
| 16959 | Bulk Product 137babe5 | Sports & Outdoors | $526.62 | 105 | ★ 2.5 | 27 | BULK-5941490e |
// 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
};
}