Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 20160 | Bulk Product 56e733b5 | Books | $719.27 | 266 | ★ 4.6 | 42 | BULK-fca746cb |
| 20161 | Bulk Product 3084a74f | Sports & Outdoors | $539.95 | 180 | ★ 4.6 | 17 | BULK-9b7598d6 |
| 20162 | Bulk Product 196fcb39 | Electronics | $258.42 | 52 | ★ 0.3 | 45 | BULK-84ae65ce |
| 20163 | Bulk Product f57e22fd | Home & Garden | $530.05 | 344 | ★ 4.3 | 93 | BULK-2736c01a |
| 20164 | Bulk Product e328853e | Toys & Games | $482.20 | 486 | ★ 1.4 | 86 | BULK-e9c0da0f |
| 20165 | Bulk Product bdf0ac59 | Home & Garden | $980.79 | 361 | ★ 4.6 | 2 | BULK-9a99fe31 |
| 20166 | Bulk Product 1ac3938c | Electronics | $778.70 | 312 | ★ 4.2 | 13 | BULK-f54c700e |
| 20167 | Bulk Product 525f84bb | Books | $629.09 | 375 | ★ 3.1 | 29 | BULK-b1d4b853 |
| 20168 | Bulk Product 16bc30e9 | Home & Garden | $679.60 | 53 | ★ 2.5 | 66 | BULK-8e39a1a7 |
| 20169 | Bulk Product 3cc5036a | Electronics | $120.73 | 315 | ★ 1.3 | 34 | BULK-d0ff6ff7 |
| 20170 | Bulk Product d23dd8f0 | Toys & Games | $937.37 | 375 | ★ 4.6 | 90 | BULK-a8f4969f |
| 20171 | Bulk Product 85719566 | Home & Garden | $172.96 | 151 | ★ 1.7 | 8 | BULK-dad80c7f |
| 20172 | Bulk Product d62f265d | Sports & Outdoors | $577.89 | 104 | ★ 2.6 | 79 | BULK-623b90c9 |
| 20173 | Bulk Product b87166e7 | Clothing | $638.15 | 479 | ★ 1.8 | 79 | BULK-b57fbb6d |
| 20174 | Bulk Product 5f96c456 | Toys & Games | $707.42 | 368 | ★ 0.6 | 86 | BULK-669b9f5c |
| 20175 | Bulk Product dfef0d84 | Sports & Outdoors | $462.63 | 315 | ★ 4.9 | 18 | BULK-4b8fc702 |
| 20176 | Bulk Product 161eb337 | Toys & Games | $781.74 | 244 | ★ 3.3 | 89 | BULK-f3ca6abb |
| 20177 | Bulk Product 404b40c3 | Electronics | $107.44 | 108 | ★ 3.5 | 27 | BULK-eb0749e2 |
| 20178 | Bulk Product c9056814 | Books | $764.21 | 81 | ★ 0.9 | 26 | BULK-f17bc993 |
| 20179 | Bulk Product ee339645 | Electronics | $954.98 | 434 | ★ 1.1 | 65 | BULK-e445004e |
| 20180 | Bulk Product 9eca2c90 | Books | $714.48 | 152 | ★ 4.3 | 65 | BULK-20fad83b |
| 20181 | Bulk Product 708b5c75 | Sports & Outdoors | $988.35 | 68 | ★ 2.1 | 86 | BULK-ede196d5 |
| 20182 | Bulk Product a0d24121 | Books | $708.22 | 306 | ★ 3.1 | 69 | BULK-c5170c13 |
| 20183 | Bulk Product 2a466250 | Electronics | $48.17 | 322 | ★ 0.8 | 23 | BULK-b3b59428 |
| 20184 | Bulk Product e7658c4a | Sports & Outdoors | $343.38 | 479 | ★ 3.3 | 26 | BULK-82c210c0 |
| 20185 | Bulk Product 57635112 | Clothing | $327.56 | 238 | ★ 2.7 | 25 | BULK-1e67a1ea |
| 20186 | Bulk Product ad4ebcfa | Sports & Outdoors | $825.38 | 366 | ★ 1.1 | 44 | BULK-f09e88df |
| 20187 | Bulk Product d95ceb75 | Books | $533.26 | 89 | ★ 2.8 | 44 | BULK-c3bd88c8 |
| 20188 | Bulk Product bfe71140 | Clothing | $271.43 | 62 | ★ 3.1 | 58 | BULK-bd72c71e |
| 20189 | Bulk Product 7e69e2d5 | Books | $282.74 | 282 | ★ 1.9 | 92 | BULK-52bff021 |
| 20190 | Bulk Product 1eb02e7d | Toys & Games | $490.16 | 58 | ★ 3.1 | 8 | BULK-8235c6db |
| 20191 | Bulk Product ed9580c5 | Clothing | $757.58 | 56 | ★ 3.3 | 75 | BULK-fde8c10a |
| 20192 | Bulk Product 37e23765 | Clothing | $580.58 | 394 | ★ 0.1 | 54 | BULK-f87d3440 |
| 20193 | Bulk Product fc28ad40 | Home & Garden | $510.24 | 485 | ★ 2.1 | 17 | BULK-bd18e13d |
| 20194 | Bulk Product b85f51e0 | Electronics | $236.70 | 484 | ★ 3.9 | 77 | BULK-d811285f |
| 20195 | Bulk Product 75a28055 | Clothing | $677.46 | 174 | ★ 4.4 | 13 | BULK-53193f03 |
| 20196 | Bulk Product 296b50cf | Electronics | $800.69 | 277 | ★ 3.8 | 39 | BULK-7a284c29 |
| 20197 | Bulk Product 12822724 | Home & Garden | $270.39 | 304 | ★ 1.6 | 99 | BULK-649e7404 |
| 20198 | Bulk Product 20cf5b68 | Toys & Games | $979.89 | 437 | ★ 3.2 | 15 | BULK-7df0dd93 |
| 20199 | Bulk Product 918613e8 | Books | $987.60 | 198 | ★ 3.8 | 13 | BULK-fb14854a |
| 20200 | Bulk Product d1df325f | Clothing | $725.98 | 405 | ★ 3.9 | 3 | BULK-0fd6db1f |
| 20201 | Bulk Product e1545324 | Electronics | $912.64 | 375 | ★ 3.1 | 11 | BULK-7b39a76b |
| 20202 | Bulk Product bd8d00f2 | Clothing | $22.22 | 376 | ★ 0.6 | 94 | BULK-01aaf03d |
| 20203 | Bulk Product a0de0a56 | Sports & Outdoors | $707.15 | 4 | ★ 2.2 | 8 | BULK-03edd4d0 |
| 20204 | Bulk Product 12cbaca2 | Toys & Games | $197.12 | 115 | ★ 4.3 | 18 | BULK-c004e06f |
| 20205 | Bulk Product b0d89912 | Electronics | $93.79 | 436 | ★ 2.9 | 55 | BULK-0a233561 |
| 20206 | Bulk Product d095a95c | Toys & Games | $137.68 | 381 | ★ 2.4 | 88 | BULK-b0e237b3 |
| 20207 | Bulk Product bba509b0 | Books | $690.61 | 213 | ★ 1.5 | 5 | BULK-4b040bfc |
| 20208 | Bulk Product 30a370b8 | Home & Garden | $204.50 | 261 | ★ 1.6 | 57 | BULK-17747414 |
| 20209 | Bulk Product 17dfa336 | Toys & Games | $309.26 | 105 | ★ 4.1 | 63 | BULK-961a6439 |
// 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
};
}