Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 16410 | Bulk Product d8f13b55 | Books | $160.81 | 287 | ★ 4.9 | 60 | BULK-29e2516a |
| 16411 | Bulk Product d61df048 | Books | $489.96 | 481 | ★ 3.2 | 57 | BULK-c77b5c6f |
| 16412 | Bulk Product 3ab0d9fb | Home & Garden | $892.44 | 461 | ★ 1.4 | 34 | BULK-bd65b8ff |
| 16413 | Bulk Product ef7f67ca | Home & Garden | $79.95 | 99 | ★ 1.4 | 27 | BULK-8cd59c5b |
| 16414 | Bulk Product a536dd6a | Toys & Games | $35.56 | 215 | ★ 4.5 | 57 | BULK-457a64af |
| 16415 | Bulk Product 793759e8 | Clothing | $625.77 | 20 | ★ 1.2 | 45 | BULK-3c959ed7 |
| 16416 | Bulk Product 855c429b | Electronics | $596.90 | 54 | ★ 4.1 | 32 | BULK-387ca0f7 |
| 16417 | Bulk Product e29471be | Sports & Outdoors | $484.64 | 278 | ★ 4.4 | 25 | BULK-9668a6d7 |
| 16418 | Bulk Product 599a0a2c | Books | $28.01 | 133 | ★ 4.7 | 28 | BULK-aed145e5 |
| 16419 | Bulk Product 9f1d532c | Home & Garden | $119.08 | 379 | ★ 4.6 | 74 | BULK-31e64ae8 |
| 16420 | Bulk Product 798f6f0b | Toys & Games | $308.66 | 313 | ★ 4.5 | 7 | BULK-f6f35ebb |
| 16421 | Bulk Product f6aea849 | Books | $467.51 | 93 | ★ 1.9 | 89 | BULK-25a6bdfc |
| 16422 | Bulk Product 6d4935ad | Sports & Outdoors | $560.32 | 488 | ★ 3.8 | 23 | BULK-d3686051 |
| 16423 | Bulk Product 188b6876 | Sports & Outdoors | $460.56 | 208 | ★ 2.2 | 41 | BULK-84141aa9 |
| 16424 | Bulk Product e658c851 | Books | $313.59 | 415 | ★ 3.5 | 79 | BULK-b6f22e63 |
| 16425 | Bulk Product 50fbd3c4 | Sports & Outdoors | $699.91 | 217 | ★ 1.5 | 16 | BULK-c0f9761b |
| 16426 | Bulk Product 2278576d | Sports & Outdoors | $851.12 | 147 | ★ 2.7 | 14 | BULK-bcbeb784 |
| 16427 | Bulk Product 1fa72e6a | Clothing | $841.76 | 432 | ★ 0.7 | 60 | BULK-10a87de0 |
| 16428 | Bulk Product f432eb3d | Sports & Outdoors | $233.51 | 14 | ★ 4.3 | 7 | BULK-18255058 |
| 16429 | Bulk Product cc883c79 | Electronics | $29.58 | 385 | ★ 4.3 | 81 | BULK-3a7bee13 |
| 16430 | Bulk Product 94997174 | Sports & Outdoors | $302.89 | 121 | ★ 4.0 | 99 | BULK-e6e1c32d |
| 16431 | Bulk Product 74eb83d9 | Electronics | $207.92 | 374 | ★ 4.9 | 2 | BULK-70a1c409 |
| 16432 | Bulk Product c7bfb509 | Sports & Outdoors | $57.66 | 71 | ★ 1.6 | 13 | BULK-a14d37e1 |
| 16433 | Bulk Product 370722ba | Books | $877.71 | 14 | ★ 3.9 | 75 | BULK-f504861d |
| 16434 | Bulk Product 7ec960de | Home & Garden | $713.58 | 50 | ★ 0.3 | 28 | BULK-1892302f |
| 16435 | Bulk Product 8572a8a2 | Electronics | $562.10 | 388 | ★ 3.5 | 55 | BULK-abb17b6d |
| 16436 | Bulk Product 1d7be1b6 | Home & Garden | $644.30 | 259 | ★ 1.7 | 81 | BULK-470f9e7a |
| 16437 | Bulk Product 52aff8c7 | Electronics | $894.72 | 10 | ★ 3.2 | 82 | BULK-1731c13b |
| 16438 | Bulk Product c4a80d85 | Books | $208.65 | 275 | ★ 2.3 | 38 | BULK-04615753 |
| 16439 | Bulk Product 608f70ce | Home & Garden | $446.62 | 100 | ★ 4.6 | 86 | BULK-fc81da38 |
| 16440 | Bulk Product 6e8d888d | Home & Garden | $365.55 | 85 | ★ 3.0 | 88 | BULK-a8e7a446 |
| 16441 | Bulk Product f2ed94cf | Clothing | $676.79 | 279 | ★ 3.8 | 75 | BULK-6d92b9ed |
| 16442 | Bulk Product 5df6780f | Books | $432.84 | 187 | ★ 2.0 | 75 | BULK-60901d93 |
| 16443 | Bulk Product 4f66327e | Electronics | $569.04 | 145 | ★ 0.3 | 73 | BULK-14155ab7 |
| 16444 | Bulk Product 3938f871 | Books | $746.34 | 286 | ★ 0.8 | 32 | BULK-11d2f46f |
| 16445 | Bulk Product 4b91b42a | Books | $463.18 | 499 | ★ 0.7 | 22 | BULK-bad39b51 |
| 16446 | Bulk Product 8adbb97f | Home & Garden | $256.59 | 159 | ★ 2.8 | 57 | BULK-b0460ae9 |
| 16447 | Bulk Product 277f2cb5 | Books | $724.37 | 54 | ★ 1.7 | 92 | BULK-7bbd8e0e |
| 16448 | Bulk Product 5c668228 | Sports & Outdoors | $85.82 | 35 | ★ 5.0 | 99 | BULK-6d4a39e7 |
| 16449 | Bulk Product f0bdc3bb | Sports & Outdoors | $107.79 | 430 | ★ 4.7 | 99 | BULK-ff005c78 |
| 16450 | Bulk Product c752ed5e | Books | $264.14 | 306 | ★ 1.4 | 34 | BULK-e8eb3666 |
| 16451 | Bulk Product c9f3843d | Electronics | $282.24 | 95 | ★ 4.5 | 16 | BULK-12a5e2e7 |
| 16452 | Bulk Product c0a550b1 | Toys & Games | $327.61 | 183 | ★ 1.5 | 7 | BULK-ddfe1153 |
| 16453 | Bulk Product 3b4efeec | Books | $548.36 | 334 | ★ 1.2 | 32 | BULK-6024db0a |
| 16454 | Bulk Product a9abbc02 | Clothing | $909.03 | 199 | ★ 0.9 | 88 | BULK-dd46498c |
| 16455 | Bulk Product 301e829c | Electronics | $733.53 | 392 | ★ 4.3 | 0 | BULK-d9b6f89c |
| 16456 | Bulk Product d910ddb6 | Clothing | $869.23 | 410 | ★ 1.0 | 90 | BULK-cc14eddc |
| 16457 | Bulk Product 908a6d66 | Electronics | $658.78 | 288 | ★ 0.1 | 63 | BULK-bef668ed |
| 16458 | Bulk Product cbf17082 | Toys & Games | $732.14 | 61 | ★ 0.5 | 55 | BULK-b47ee504 |
| 16459 | Bulk Product f7613ed7 | Books | $612.45 | 286 | ★ 2.6 | 30 | BULK-42b3474d |
// 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
};
}