Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 24310 | Bulk Product 6e79db2f | Clothing | $284.40 | 318 | ★ 2.1 | 99 | BULK-4642a785 |
| 24311 | Bulk Product 740f0699 | Clothing | $328.23 | 14 | ★ 2.3 | 40 | BULK-9eac89ac |
| 24312 | Bulk Product a7990844 | Home & Garden | $663.43 | 33 | ★ 4.9 | 9 | BULK-521429e5 |
| 24313 | Bulk Product bb10f485 | Sports & Outdoors | $686.33 | 41 | ★ 2.0 | 89 | BULK-f23d8c10 |
| 24314 | Bulk Product ba5302cb | Home & Garden | $131.50 | 144 | ★ 4.7 | 11 | BULK-f53c335a |
| 24315 | Bulk Product fa21fad3 | Toys & Games | $98.62 | 494 | ★ 2.6 | 50 | BULK-5dd9eace |
| 24316 | Bulk Product f0048439 | Toys & Games | $375.39 | 132 | ★ 3.4 | 75 | BULK-0ce4b846 |
| 24317 | Bulk Product 526f347a | Toys & Games | $813.07 | 213 | ★ 1.6 | 14 | BULK-2ead0834 |
| 24318 | Bulk Product 85987399 | Sports & Outdoors | $925.51 | 350 | ★ 3.7 | 51 | BULK-241f1d73 |
| 24319 | Bulk Product b1b43200 | Clothing | $827.67 | 220 | ★ 0.5 | 60 | BULK-641a1ed5 |
| 24320 | Bulk Product dc65aeec | Toys & Games | $640.10 | 155 | ★ 4.8 | 2 | BULK-294743b9 |
| 24321 | Bulk Product 920547fd | Sports & Outdoors | $895.06 | 26 | ★ 0.3 | 95 | BULK-150f235f |
| 24322 | Bulk Product b582bbf5 | Home & Garden | $285.81 | 481 | ★ 2.6 | 51 | BULK-37a94340 |
| 24323 | Bulk Product 2bc3fc48 | Sports & Outdoors | $688.80 | 415 | ★ 2.9 | 38 | BULK-13b07785 |
| 24324 | Bulk Product 162ac8c0 | Books | $359.49 | 348 | ★ 0.1 | 98 | BULK-c949d1fb |
| 24325 | Bulk Product ae6f9e07 | Toys & Games | $477.51 | 458 | ★ 0.3 | 13 | BULK-82aecc07 |
| 24326 | Bulk Product 4bc1ae80 | Toys & Games | $220.96 | 418 | ★ 3.8 | 19 | BULK-5c829765 |
| 24327 | Bulk Product f181a99d | Home & Garden | $607.30 | 387 | ★ 3.1 | 4 | BULK-9217aeb3 |
| 24328 | Bulk Product 4adf57df | Sports & Outdoors | $737.91 | 237 | ★ 1.5 | 4 | BULK-f441a1e6 |
| 24329 | Bulk Product 80bbe631 | Clothing | $82.58 | 408 | ★ 2.3 | 93 | BULK-6cbe755b |
| 24330 | Bulk Product 2aee29ae | Electronics | $686.90 | 219 | ★ 2.2 | 21 | BULK-1ca91e8d |
| 24331 | Bulk Product f64a0690 | Home & Garden | $403.92 | 488 | ★ 4.6 | 79 | BULK-a633427c |
| 24332 | Bulk Product a2e1fd56 | Toys & Games | $581.57 | 269 | ★ 0.2 | 51 | BULK-c21d565e |
| 24333 | Bulk Product 77e9f7a1 | Clothing | $43.92 | 447 | ★ 2.2 | 37 | BULK-9239b560 |
| 24334 | Bulk Product 98238be7 | Books | $826.38 | 392 | ★ 4.9 | 74 | BULK-93b5d3ea |
| 24335 | Bulk Product b9b4498a | Toys & Games | $945.92 | 231 | ★ 2.1 | 11 | BULK-c019f215 |
| 24336 | Bulk Product f61f0a5c | Clothing | $628.49 | 304 | ★ 3.2 | 25 | BULK-8bbce299 |
| 24337 | Bulk Product 16852ebb | Home & Garden | $363.06 | 461 | ★ 4.3 | 19 | BULK-845081b5 |
| 24338 | Bulk Product 95634f5e | Electronics | $541.91 | 442 | ★ 4.9 | 98 | BULK-9a894dbe |
| 24339 | Bulk Product af13dae3 | Sports & Outdoors | $712.77 | 102 | ★ 4.8 | 39 | BULK-31ddcb93 |
| 24340 | Bulk Product c083ffb3 | Sports & Outdoors | $392.27 | 99 | ★ 0.9 | 72 | BULK-50939876 |
| 24341 | Bulk Product a498e1e7 | Electronics | $772.67 | 154 | ★ 2.7 | 57 | BULK-d1665dcf |
| 24342 | Bulk Product 1444082e | Home & Garden | $305.85 | 180 | ★ 5.0 | 46 | BULK-48f2a3f0 |
| 24343 | Bulk Product c288e3c5 | Books | $330.39 | 78 | ★ 4.7 | 65 | BULK-98515b63 |
| 24344 | Bulk Product 73b6fd69 | Sports & Outdoors | $984.87 | 390 | ★ 3.7 | 17 | BULK-ade72c93 |
| 24345 | Bulk Product dffb1ddb | Books | $376.35 | 406 | ★ 3.9 | 89 | BULK-729a244f |
| 24346 | Bulk Product 9b509d5c | Toys & Games | $138.41 | 93 | ★ 0.4 | 27 | BULK-664f7077 |
| 24347 | Bulk Product a39c1435 | Toys & Games | $644.55 | 279 | ★ 2.3 | 15 | BULK-fe5d31dc |
| 24348 | Bulk Product 52932d1f | Clothing | $878.25 | 391 | ★ 4.2 | 23 | BULK-624bdd3f |
| 24349 | Bulk Product 3c4e6a86 | Sports & Outdoors | $166.38 | 453 | ★ 4.0 | 45 | BULK-abe6a7f8 |
| 24350 | Bulk Product 589cc1cc | Sports & Outdoors | $862.58 | 395 | ★ 3.3 | 25 | BULK-d09bd8bb |
| 24351 | Bulk Product e39b0a78 | Home & Garden | $600.34 | 282 | ★ 2.6 | 48 | BULK-16193b44 |
| 24352 | Bulk Product 8a97874d | Toys & Games | $70.12 | 18 | ★ 0.9 | 43 | BULK-7b1ccc9c |
| 24353 | Bulk Product c4941afc | Home & Garden | $783.10 | 94 | ★ 2.8 | 71 | BULK-f0440643 |
| 24354 | Bulk Product 4126fe52 | Toys & Games | $284.63 | 114 | ★ 3.4 | 60 | BULK-ef7cf65e |
| 24355 | Bulk Product 2ca7d36c | Electronics | $861.68 | 253 | ★ 3.3 | 54 | BULK-124ebfa9 |
| 24356 | Bulk Product ff10d1f0 | Toys & Games | $10.08 | 489 | ★ 0.1 | 30 | BULK-8919e7fe |
| 24357 | Bulk Product af438a15 | Sports & Outdoors | $380.42 | 8 | ★ 0.3 | 8 | BULK-d8951a32 |
| 24358 | Bulk Product bace0c95 | Toys & Games | $899.27 | 104 | ★ 4.8 | 35 | BULK-fadfd483 |
| 24359 | Bulk Product 353f436a | Clothing | $48.42 | 463 | ★ 3.3 | 24 | BULK-d83171c9 |
// 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
};
}