Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 17910 | Bulk Product 42c1b962 | Books | $914.46 | 114 | ★ 3.9 | 22 | BULK-03548233 |
| 17911 | Bulk Product ae4411ec | Home & Garden | $802.88 | 151 | ★ 3.9 | 75 | BULK-9b186370 |
| 17912 | Bulk Product fab71fa4 | Home & Garden | $885.88 | 418 | ★ 4.2 | 28 | BULK-80ae17f5 |
| 17913 | Bulk Product b5aa2184 | Toys & Games | $183.57 | 210 | ★ 1.6 | 91 | BULK-08dc316c |
| 17914 | Bulk Product 713992bb | Electronics | $379.39 | 395 | ★ 3.5 | 38 | BULK-09cbbc26 |
| 17915 | Bulk Product 0da5a507 | Toys & Games | $758.43 | 173 | ★ 0.4 | 0 | BULK-117e45c1 |
| 17916 | Bulk Product 8e214542 | Clothing | $712.90 | 44 | ★ 0.8 | 85 | BULK-f4c445c2 |
| 17917 | Bulk Product f472e186 | Sports & Outdoors | $163.32 | 493 | ★ 2.9 | 84 | BULK-44a4decf |
| 17918 | Bulk Product a1b59445 | Sports & Outdoors | $111.98 | 254 | ★ 0.7 | 99 | BULK-1657a2db |
| 17919 | Bulk Product b5d81fb7 | Electronics | $782.80 | 392 | ★ 3.4 | 40 | BULK-8db53c80 |
| 17920 | Bulk Product a09b3dc3 | Books | $299.93 | 307 | ★ 4.2 | 31 | BULK-86ce77c0 |
| 17921 | Bulk Product f342abf2 | Home & Garden | $664.84 | 335 | ★ 4.6 | 7 | BULK-d44cfdec |
| 17922 | Bulk Product 73fc3bd8 | Sports & Outdoors | $812.05 | 468 | ★ 3.1 | 47 | BULK-86e36b82 |
| 17923 | Bulk Product 654edec3 | Books | $646.47 | 210 | ★ 0.4 | 46 | BULK-85da6a04 |
| 17924 | Bulk Product 4b6059f5 | Home & Garden | $302.18 | 205 | ★ 2.6 | 50 | BULK-f4586407 |
| 17925 | Bulk Product a138d714 | Home & Garden | $321.38 | 207 | ★ 0.8 | 40 | BULK-8f8b2fa8 |
| 17926 | Bulk Product 97757e79 | Home & Garden | $403.72 | 38 | ★ 4.9 | 45 | BULK-8ea69435 |
| 17927 | Bulk Product 3e99c01c | Clothing | $233.65 | 463 | ★ 3.5 | 3 | BULK-ea4abada |
| 17928 | Bulk Product ce8a48dc | Books | $952.74 | 141 | ★ 3.3 | 66 | BULK-523ade89 |
| 17929 | Bulk Product ba044b3d | Home & Garden | $210.96 | 195 | ★ 1.6 | 49 | BULK-360fc997 |
| 17930 | Bulk Product 83700da7 | Clothing | $790.66 | 409 | ★ 2.3 | 6 | BULK-8756fbd3 |
| 17931 | Bulk Product 396d4ca2 | Home & Garden | $654.29 | 452 | ★ 1.9 | 19 | BULK-73639da4 |
| 17932 | Bulk Product a2d8b554 | Sports & Outdoors | $717.06 | 456 | ★ 4.7 | 98 | BULK-576606aa |
| 17933 | Bulk Product 51655364 | Electronics | $807.70 | 460 | ★ 3.5 | 44 | BULK-95c188f1 |
| 17934 | Bulk Product fce03f00 | Toys & Games | $767.23 | 131 | ★ 1.6 | 89 | BULK-d2e97b47 |
| 17935 | Bulk Product 124bf923 | Electronics | $250.90 | 219 | ★ 0.0 | 10 | BULK-5f42a94c |
| 17936 | Bulk Product edd72687 | Clothing | $326.64 | 82 | ★ 1.0 | 61 | BULK-5d740844 |
| 17937 | Bulk Product cbabef98 | Home & Garden | $848.67 | 370 | ★ 3.0 | 66 | BULK-b39ffcda |
| 17938 | Bulk Product 31d1f8f3 | Toys & Games | $793.12 | 308 | ★ 2.4 | 41 | BULK-2a10c01b |
| 17939 | Bulk Product c2b769b9 | Clothing | $832.77 | 385 | ★ 0.3 | 46 | BULK-7852577d |
| 17940 | Bulk Product 9fee2aa4 | Home & Garden | $431.61 | 406 | ★ 3.8 | 75 | BULK-f25b9fd1 |
| 17941 | Bulk Product a14f3821 | Home & Garden | $462.76 | 172 | ★ 4.7 | 52 | BULK-2d045002 |
| 17942 | Bulk Product 168a6461 | Clothing | $266.32 | 39 | ★ 2.4 | 11 | BULK-14bef908 |
| 17943 | Bulk Product cad83db2 | Clothing | $1,002.98 | 487 | ★ 0.6 | 57 | BULK-d6799d9f |
| 17944 | Bulk Product 563f418c | Home & Garden | $107.43 | 89 | ★ 0.1 | 82 | BULK-002cbf6d |
| 17945 | Bulk Product 0b088a20 | Electronics | $866.14 | 300 | ★ 1.8 | 34 | BULK-8890d9ac |
| 17946 | Bulk Product 78aea71d | Electronics | $326.76 | 466 | ★ 1.6 | 6 | BULK-a0c122be |
| 17947 | Bulk Product a320c3b5 | Sports & Outdoors | $979.27 | 1 | ★ 2.8 | 92 | BULK-42e40515 |
| 17948 | Bulk Product fd426bb7 | Home & Garden | $902.25 | 200 | ★ 1.1 | 72 | BULK-4760a70d |
| 17949 | Bulk Product 67b4b6be | Electronics | $418.70 | 312 | ★ 2.1 | 72 | BULK-4a1130d7 |
| 17950 | Bulk Product 8eae719b | Sports & Outdoors | $833.62 | 177 | ★ 1.8 | 93 | BULK-9416c491 |
| 17951 | Bulk Product 3106b377 | Books | $949.54 | 359 | ★ 1.2 | 91 | BULK-a68abac1 |
| 17952 | Bulk Product 5d4715cb | Electronics | $519.17 | 287 | ★ 4.5 | 27 | BULK-05b3a7bb |
| 17953 | Bulk Product 7d48726d | Sports & Outdoors | $673.25 | 396 | ★ 1.2 | 12 | BULK-547ab3ea |
| 17954 | Bulk Product b1bbb436 | Books | $260.29 | 95 | ★ 4.5 | 97 | BULK-82731d4e |
| 17955 | Bulk Product 80047601 | Home & Garden | $125.59 | 302 | ★ 1.0 | 39 | BULK-7a1cfb0a |
| 17956 | Bulk Product dc1ceedf | Books | $702.32 | 243 | ★ 4.1 | 79 | BULK-907d1dd9 |
| 17957 | Bulk Product d530e3ba | Toys & Games | $34.19 | 9 | ★ 3.6 | 50 | BULK-9eb140bb |
| 17958 | Bulk Product fac925ed | Electronics | $894.79 | 356 | ★ 1.9 | 73 | BULK-d4c0c695 |
| 17959 | Bulk Product ccc3e024 | Clothing | $23.03 | 144 | ★ 4.4 | 23 | BULK-ffa02539 |
// 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
};
}