Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 17960 | Bulk Product 1944520f | Home & Garden | $250.01 | 273 | ★ 2.0 | 23 | BULK-1ade370c |
| 17961 | Bulk Product 71bcff83 | Electronics | $604.92 | 258 | ★ 4.8 | 60 | BULK-2cf9321c |
| 17962 | Bulk Product 17b16267 | Home & Garden | $817.88 | 334 | ★ 4.8 | 40 | BULK-4edb3390 |
| 17963 | Bulk Product 89741a78 | Electronics | $974.21 | 57 | ★ 0.4 | 65 | BULK-99576326 |
| 17964 | Bulk Product 3e66f776 | Books | $505.34 | 209 | ★ 2.2 | 27 | BULK-57007bcc |
| 17965 | Bulk Product 2c9e36b2 | Toys & Games | $120.72 | 144 | ★ 0.2 | 45 | BULK-e0e4ed93 |
| 17966 | Bulk Product 4317e5f8 | Clothing | $876.17 | 149 | ★ 0.4 | 54 | BULK-394ba0e6 |
| 17967 | Bulk Product 958dbdba | Books | $813.47 | 146 | ★ 1.4 | 51 | BULK-242cf1ac |
| 17968 | Bulk Product d92d4c00 | Books | $322.56 | 213 | ★ 2.3 | 13 | BULK-bff26a0a |
| 17969 | Bulk Product 7a79638c | Toys & Games | $429.94 | 17 | ★ 2.9 | 31 | BULK-263af380 |
| 17970 | Bulk Product 33c7071e | Electronics | $118.54 | 405 | ★ 4.2 | 29 | BULK-20ef9f9c |
| 17971 | Bulk Product 8879762a | Electronics | $306.38 | 420 | ★ 0.6 | 48 | BULK-f38e7c39 |
| 17972 | Bulk Product 0a55efc1 | Sports & Outdoors | $743.88 | 131 | ★ 4.5 | 98 | BULK-a2c37338 |
| 17973 | Bulk Product cd9205ac | Toys & Games | $509.61 | 164 | ★ 4.3 | 0 | BULK-233c8a40 |
| 17974 | Bulk Product fa4aa882 | Sports & Outdoors | $63.67 | 121 | ★ 0.7 | 4 | BULK-e83bee65 |
| 17975 | Bulk Product 8f07ee93 | Books | $305.19 | 59 | ★ 2.8 | 16 | BULK-0a5d7fcd |
| 17976 | Bulk Product 0a73b46a | Toys & Games | $90.99 | 467 | ★ 0.4 | 28 | BULK-d4e12edb |
| 17977 | Bulk Product fe7de73f | Clothing | $858.05 | 301 | ★ 0.0 | 63 | BULK-bee9c870 |
| 17978 | Bulk Product aa2379a3 | Sports & Outdoors | $290.99 | 257 | ★ 1.5 | 30 | BULK-79fa4858 |
| 17979 | Bulk Product 2369e855 | Electronics | $736.16 | 321 | ★ 0.5 | 46 | BULK-9f7d902f |
| 17980 | Bulk Product db57de0f | Sports & Outdoors | $738.06 | 128 | ★ 0.6 | 45 | BULK-fa698a3e |
| 17981 | Bulk Product 29456f1a | Sports & Outdoors | $258.25 | 367 | ★ 4.7 | 53 | BULK-ee330586 |
| 17982 | Bulk Product 0f2df911 | Clothing | $179.94 | 151 | ★ 3.9 | 95 | BULK-a93436d6 |
| 17983 | Bulk Product f5dea86d | Books | $740.43 | 373 | ★ 0.5 | 28 | BULK-3d703ce7 |
| 17984 | Bulk Product 8c2ca2ab | Sports & Outdoors | $595.05 | 45 | ★ 2.9 | 89 | BULK-ef9aeb48 |
| 17985 | Bulk Product 19c4b80a | Clothing | $327.51 | 11 | ★ 3.7 | 60 | BULK-624032ea |
| 17986 | Bulk Product 14d5aa40 | Sports & Outdoors | $947.39 | 424 | ★ 1.5 | 5 | BULK-4d963074 |
| 17987 | Bulk Product 4b2426c6 | Toys & Games | $28.93 | 227 | ★ 1.7 | 93 | BULK-e346f84d |
| 17988 | Bulk Product e8b898f7 | Toys & Games | $866.11 | 496 | ★ 2.8 | 34 | BULK-823bf286 |
| 17989 | Bulk Product 73c92928 | Books | $1,000.00 | 442 | ★ 1.5 | 76 | BULK-7f342684 |
| 17990 | Bulk Product 33febebf | Home & Garden | $896.11 | 80 | ★ 4.1 | 24 | BULK-7a67eab2 |
| 17991 | Bulk Product 82fc995d | Clothing | $539.14 | 136 | ★ 5.0 | 1 | BULK-8cca5cae |
| 17992 | Bulk Product c4dbcb1e | Books | $885.22 | 289 | ★ 2.7 | 78 | BULK-70dd6e5d |
| 17993 | Bulk Product 10323ca0 | Sports & Outdoors | $888.43 | 155 | ★ 4.8 | 37 | BULK-c17f2a5b |
| 17994 | Bulk Product c2a6d540 | Toys & Games | $266.49 | 378 | ★ 3.5 | 55 | BULK-9ff40a88 |
| 17995 | Bulk Product 9ebb9b65 | Clothing | $299.52 | 245 | ★ 0.3 | 83 | BULK-6f8a749b |
| 17996 | Bulk Product a0e16d3b | Clothing | $170.52 | 300 | ★ 2.8 | 90 | BULK-070622f7 |
| 17997 | Bulk Product 4c3d9154 | Clothing | $732.38 | 218 | ★ 1.7 | 12 | BULK-413d413a |
| 17998 | Bulk Product fab096ad | Toys & Games | $990.65 | 298 | ★ 4.4 | 71 | BULK-14f5e29b |
| 17999 | Bulk Product 95e775c7 | Electronics | $871.52 | 33 | ★ 0.8 | 0 | BULK-55e1348c |
| 18000 | Bulk Product 65761bfa | Sports & Outdoors | $42.22 | 123 | ★ 2.8 | 93 | BULK-b7718a70 |
| 18001 | Bulk Product 21c3d252 | Home & Garden | $620.03 | 59 | ★ 4.4 | 82 | BULK-2b389167 |
| 18002 | Bulk Product 96ea2c91 | Toys & Games | $597.82 | 234 | ★ 0.5 | 53 | BULK-86c758c0 |
| 18003 | Bulk Product f64bf5ef | Home & Garden | $117.98 | 281 | ★ 2.6 | 88 | BULK-8b1448d2 |
| 18004 | Bulk Product 03cfaa32 | Clothing | $478.66 | 392 | ★ 2.6 | 33 | BULK-f276c880 |
| 18005 | Bulk Product 2298bbec | Books | $91.44 | 50 | ★ 3.3 | 57 | BULK-f5a5eb0b |
| 18006 | Bulk Product 96e23041 | Books | $531.87 | 321 | ★ 2.4 | 90 | BULK-51e30570 |
| 18007 | Bulk Product c5d5d13f | Electronics | $196.07 | 254 | ★ 2.6 | 91 | BULK-a420f313 |
| 18008 | Bulk Product 38a93820 | Books | $293.47 | 183 | ★ 4.3 | 78 | BULK-070773e3 |
| 18009 | Bulk Product 4b5d1863 | Books | $994.09 | 100 | ★ 3.9 | 80 | BULK-958a8ec2 |
// 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
};
}