Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 5910 | Bulk Product 2018add3 | Toys & Games | $773.60 | 131 | ★ 3.9 | 99 | BULK-c33b0f7e |
| 5911 | Bulk Product 1bc50eb5 | Sports & Outdoors | $676.75 | 147 | ★ 0.1 | 22 | BULK-10970833 |
| 5912 | Bulk Product b01d3a96 | Books | $15.33 | 59 | ★ 0.0 | 75 | BULK-9ecfcc5d |
| 5913 | Bulk Product 2984bc91 | Electronics | $609.29 | 139 | ★ 3.5 | 65 | BULK-79b1c3b2 |
| 5914 | Bulk Product 87ef0e49 | Clothing | $894.65 | 20 | ★ 0.4 | 8 | BULK-8c9f83c0 |
| 5915 | Bulk Product dae9f0af | Electronics | $580.04 | 21 | ★ 1.9 | 82 | BULK-eb935de2 |
| 5916 | Bulk Product 39cf951d | Toys & Games | $887.92 | 491 | ★ 1.7 | 96 | BULK-f6efbddc |
| 5917 | Bulk Product 338d2e52 | Sports & Outdoors | $204.84 | 231 | ★ 3.7 | 14 | BULK-d444d81d |
| 5918 | Bulk Product 99763a2c | Toys & Games | $796.00 | 12 | ★ 4.5 | 2 | BULK-62e4899d |
| 5919 | Bulk Product 477ff7eb | Electronics | $753.64 | 107 | ★ 3.0 | 39 | BULK-ec8b8a45 |
| 5920 | Bulk Product 2103ecf3 | Clothing | $806.93 | 119 | ★ 1.5 | 77 | BULK-bddce69b |
| 5921 | Bulk Product df876d21 | Electronics | $539.77 | 202 | ★ 2.3 | 28 | BULK-d0d6258f |
| 5922 | Bulk Product 9e1d2f61 | Toys & Games | $821.35 | 474 | ★ 4.4 | 20 | BULK-9d3046db |
| 5923 | Bulk Product abd5f400 | Sports & Outdoors | $837.59 | 169 | ★ 4.2 | 28 | BULK-facdb622 |
| 5924 | Bulk Product 6fe543c5 | Toys & Games | $734.31 | 487 | ★ 2.0 | 5 | BULK-01cc4d9e |
| 5925 | Bulk Product 176ab8fc | Sports & Outdoors | $180.61 | 94 | ★ 0.4 | 13 | BULK-713e2a2f |
| 5926 | Bulk Product 59063744 | Toys & Games | $579.76 | 415 | ★ 0.3 | 11 | BULK-5b9bc260 |
| 5927 | Bulk Product 753b692f | Clothing | $933.79 | 393 | ★ 4.7 | 86 | BULK-dbd8cb95 |
| 5928 | Bulk Product 6323628e | Electronics | $419.76 | 229 | ★ 4.7 | 48 | BULK-84ef1576 |
| 5929 | Bulk Product 00881515 | Toys & Games | $757.33 | 162 | ★ 2.8 | 82 | BULK-09e815d8 |
| 5930 | Bulk Product a8e0a06f | Home & Garden | $996.92 | 160 | ★ 1.0 | 83 | BULK-c02348ce |
| 5931 | Bulk Product ccd4fc6e | Toys & Games | $957.54 | 328 | ★ 1.6 | 46 | BULK-6f0f216a |
| 5932 | Bulk Product 40db2acb | Clothing | $113.01 | 97 | ★ 0.9 | 80 | BULK-010344cd |
| 5933 | Bulk Product fbbbc5b5 | Books | $407.44 | 417 | ★ 4.1 | 97 | BULK-3b65b29b |
| 5934 | Bulk Product 95db2ef3 | Toys & Games | $229.67 | 322 | ★ 0.0 | 47 | BULK-2c726b3a |
| 5935 | Bulk Product b3208811 | Electronics | $230.42 | 435 | ★ 1.3 | 19 | BULK-9a45f240 |
| 5936 | Bulk Product f7c90f89 | Clothing | $753.43 | 235 | ★ 4.3 | 78 | BULK-014f2db1 |
| 5937 | Bulk Product 40e4c5bd | Clothing | $356.79 | 279 | ★ 4.8 | 4 | BULK-1553ab5d |
| 5938 | Bulk Product f5e0855c | Home & Garden | $336.97 | 226 | ★ 4.5 | 11 | BULK-dc48177b |
| 5939 | Bulk Product beab5e03 | Home & Garden | $87.66 | 414 | ★ 0.9 | 93 | BULK-343e2e2a |
| 5940 | Bulk Product ccb1fd83 | Electronics | $862.84 | 107 | ★ 1.6 | 62 | BULK-e6a1b9a3 |
| 5941 | Bulk Product bf2d1c8e | Clothing | $60.81 | 215 | ★ 1.3 | 56 | BULK-f6f80343 |
| 5942 | Bulk Product 3b75fdbb | Electronics | $823.81 | 451 | ★ 3.7 | 48 | BULK-18ed0b25 |
| 5943 | Bulk Product 9268babd | Books | $701.15 | 121 | ★ 0.1 | 49 | BULK-03929842 |
| 5944 | Bulk Product 3125f069 | Electronics | $947.82 | 379 | ★ 4.8 | 19 | BULK-cd5c2fc3 |
| 5945 | Bulk Product bf5609e3 | Electronics | $197.71 | 464 | ★ 0.1 | 80 | BULK-3858f882 |
| 5946 | Bulk Product 522cdb3e | Toys & Games | $855.46 | 386 | ★ 2.4 | 92 | BULK-8498edea |
| 5947 | Bulk Product 8e9a454e | Books | $320.03 | 60 | ★ 2.2 | 32 | BULK-d298a126 |
| 5948 | Bulk Product c0f3204c | Electronics | $46.92 | 284 | ★ 3.3 | 74 | BULK-2244195e |
| 5949 | Bulk Product bc68aa52 | Sports & Outdoors | $580.29 | 308 | ★ 2.7 | 93 | BULK-7d25adaf |
| 5950 | Bulk Product 2ef36b6c | Home & Garden | $130.84 | 349 | ★ 0.0 | 98 | BULK-56b06d9c |
| 5951 | Bulk Product bfc9fb3a | Sports & Outdoors | $858.15 | 171 | ★ 2.7 | 67 | BULK-80d06729 |
| 5952 | Bulk Product 1061e781 | Toys & Games | $400.94 | 440 | ★ 1.9 | 99 | BULK-6124fb8a |
| 5953 | Bulk Product f7df3407 | Electronics | $672.66 | 116 | ★ 3.6 | 26 | BULK-f461536a |
| 5954 | Bulk Product 5e531e33 | Clothing | $437.91 | 201 | ★ 2.6 | 67 | BULK-02f44feb |
| 5955 | Bulk Product 75c54888 | Home & Garden | $349.82 | 433 | ★ 1.9 | 28 | BULK-bfbc7d4b |
| 5956 | Bulk Product 83f9c7c7 | Electronics | $202.06 | 346 | ★ 4.4 | 38 | BULK-c6bd87ef |
| 5957 | Bulk Product f384f08b | Toys & Games | $10.45 | 179 | ★ 1.4 | 96 | BULK-6d7b1488 |
| 5958 | Bulk Product a62fa1d5 | Home & Garden | $259.16 | 287 | ★ 3.7 | 8 | BULK-8be7c893 |
| 5959 | Bulk Product 9941f245 | Toys & Games | $47.56 | 65 | ★ 3.3 | 27 | BULK-75a0a7f1 |
// 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
};
}