Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 14860 | Bulk Product a7171e3b | Electronics | $751.66 | 171 | ★ 2.1 | 28 | BULK-b35eafac |
| 14861 | Bulk Product 0c5c29bb | Clothing | $340.66 | 141 | ★ 0.2 | 0 | BULK-18a45928 |
| 14862 | Bulk Product a78bd521 | Electronics | $306.91 | 405 | ★ 3.7 | 56 | BULK-d0d1c26f |
| 14863 | Bulk Product 012e6cbe | Sports & Outdoors | $485.51 | 182 | ★ 2.4 | 87 | BULK-fc90bc26 |
| 14864 | Bulk Product 768c8a75 | Toys & Games | $126.32 | 469 | ★ 1.1 | 9 | BULK-b7faa08c |
| 14865 | Bulk Product bc2ebedd | Sports & Outdoors | $531.81 | 147 | ★ 3.9 | 64 | BULK-1407bbfc |
| 14866 | Bulk Product f52057e8 | Books | $472.52 | 361 | ★ 2.8 | 24 | BULK-a11973ca |
| 14867 | Bulk Product 4b845992 | Clothing | $292.52 | 108 | ★ 0.2 | 10 | BULK-0fd609d6 |
| 14868 | Bulk Product 15b7419c | Sports & Outdoors | $65.77 | 418 | ★ 1.9 | 78 | BULK-57a00ef6 |
| 14869 | Bulk Product 941a9cc0 | Sports & Outdoors | $249.27 | 250 | ★ 3.4 | 30 | BULK-dddb0fed |
| 14870 | Bulk Product 726d08ed | Home & Garden | $797.33 | 96 | ★ 0.8 | 24 | BULK-826c43ea |
| 14871 | Bulk Product 53e8d218 | Electronics | $914.37 | 286 | ★ 4.7 | 95 | BULK-0a52126b |
| 14872 | Bulk Product 4fc37f51 | Toys & Games | $154.88 | 235 | ★ 1.8 | 83 | BULK-00b505c2 |
| 14873 | Bulk Product 7833e97d | Electronics | $771.35 | 99 | ★ 1.2 | 29 | BULK-2e29b2a7 |
| 14874 | Bulk Product da9eab32 | Electronics | $121.88 | 498 | ★ 2.9 | 86 | BULK-aa9fafaf |
| 14875 | Bulk Product 6ceed537 | Sports & Outdoors | $119.03 | 460 | ★ 4.0 | 86 | BULK-ebd9423a |
| 14876 | Bulk Product 0d8e4d1a | Electronics | $488.65 | 472 | ★ 1.5 | 1 | BULK-ac0b66c8 |
| 14877 | Bulk Product df572c8f | Sports & Outdoors | $493.13 | 72 | ★ 4.9 | 53 | BULK-57701633 |
| 14878 | Bulk Product af428279 | Toys & Games | $550.74 | 377 | ★ 2.1 | 47 | BULK-400661f3 |
| 14879 | Bulk Product 8427719f | Books | $78.92 | 419 | ★ 4.5 | 8 | BULK-511b585a |
| 14880 | Bulk Product ab6e8df9 | Books | $981.91 | 187 | ★ 0.2 | 65 | BULK-37e74afc |
| 14881 | Bulk Product c58f883e | Toys & Games | $184.38 | 143 | ★ 0.5 | 34 | BULK-ed979bbe |
| 14882 | Bulk Product 27fd6a2a | Toys & Games | $25.54 | 485 | ★ 4.4 | 58 | BULK-bf404223 |
| 14883 | Bulk Product 0abddb91 | Home & Garden | $688.23 | 223 | ★ 3.4 | 30 | BULK-fb20d1e0 |
| 14884 | Bulk Product 88bfe23c | Clothing | $761.86 | 410 | ★ 3.6 | 51 | BULK-2ae7f158 |
| 14885 | Bulk Product 0735ca24 | Electronics | $893.33 | 280 | ★ 3.6 | 93 | BULK-1af9a142 |
| 14886 | Bulk Product d93ba78b | Home & Garden | $886.17 | 340 | ★ 0.4 | 12 | BULK-9427a512 |
| 14887 | Bulk Product 6e32b5c7 | Sports & Outdoors | $23.60 | 498 | ★ 0.7 | 73 | BULK-797c4c90 |
| 14888 | Bulk Product 8a738c89 | Books | $985.26 | 318 | ★ 1.4 | 24 | BULK-c79399b4 |
| 14889 | Bulk Product cb0a694b | Toys & Games | $97.28 | 183 | ★ 3.4 | 41 | BULK-fc7ca8f1 |
| 14890 | Bulk Product 7cfca0ce | Books | $287.12 | 265 | ★ 4.8 | 87 | BULK-b231427c |
| 14891 | Bulk Product 00320250 | Electronics | $416.77 | 483 | ★ 3.8 | 17 | BULK-9e3253b3 |
| 14892 | Bulk Product 14889b6b | Clothing | $742.24 | 486 | ★ 2.0 | 37 | BULK-3ed4da91 |
| 14893 | Bulk Product 3bafe348 | Sports & Outdoors | $550.31 | 59 | ★ 1.6 | 51 | BULK-73eabe08 |
| 14894 | Bulk Product d5c76039 | Home & Garden | $265.34 | 313 | ★ 2.6 | 14 | BULK-842d281c |
| 14895 | Bulk Product d744e09c | Toys & Games | $261.99 | 95 | ★ 3.6 | 7 | BULK-8145c119 |
| 14896 | Bulk Product b44647fe | Books | $438.35 | 15 | ★ 3.7 | 1 | BULK-23510c1d |
| 14897 | Bulk Product 4779095e | Sports & Outdoors | $61.61 | 184 | ★ 4.2 | 88 | BULK-524101e8 |
| 14898 | Bulk Product edd20dc3 | Clothing | $480.24 | 279 | ★ 1.8 | 56 | BULK-7decb8fd |
| 14899 | Bulk Product 6942cb13 | Sports & Outdoors | $83.93 | 269 | ★ 0.9 | 4 | BULK-ce23d629 |
| 14900 | Bulk Product 2e7de875 | Books | $456.74 | 197 | ★ 0.1 | 50 | BULK-d4549724 |
| 14901 | Bulk Product 062386bb | Clothing | $223.51 | 326 | ★ 1.6 | 80 | BULK-a3131b80 |
| 14902 | Bulk Product bc5c2bc6 | Books | $845.43 | 249 | ★ 1.2 | 42 | BULK-574221e9 |
| 14903 | Bulk Product ea6d8047 | Sports & Outdoors | $636.41 | 102 | ★ 3.9 | 96 | BULK-7d1198a4 |
| 14904 | Bulk Product f51a8a0a | Toys & Games | $861.73 | 315 | ★ 3.2 | 53 | BULK-ac546b58 |
| 14905 | Bulk Product 38a6d4bf | Clothing | $950.49 | 456 | ★ 1.5 | 79 | BULK-5851d86a |
| 14906 | Bulk Product d600268b | Books | $966.96 | 406 | ★ 1.7 | 4 | BULK-4364421d |
| 14907 | Bulk Product 21581580 | Home & Garden | $549.78 | 100 | ★ 3.8 | 14 | BULK-ea7bdd4b |
| 14908 | Bulk Product 6a6793e8 | Books | $455.57 | 423 | ★ 3.4 | 73 | BULK-7867ab9d |
| 14909 | Bulk Product 57bf2cc8 | Home & Garden | $268.21 | 315 | ★ 2.6 | 74 | BULK-8d894a5c |
// 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
};
}