Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 13810 | Bulk Product 43dfbae6 | Clothing | $265.96 | 250 | ★ 0.5 | 11 | BULK-64a698fb |
| 13811 | Bulk Product 7b590d1b | Clothing | $284.99 | 245 | ★ 0.8 | 18 | BULK-dc8f0e35 |
| 13812 | Bulk Product 174e5468 | Sports & Outdoors | $591.16 | 258 | ★ 2.0 | 50 | BULK-010ba412 |
| 13813 | Bulk Product 51902f3e | Toys & Games | $285.68 | 389 | ★ 2.0 | 88 | BULK-0ffa41e5 |
| 13814 | Bulk Product 853ead85 | Electronics | $962.05 | 328 | ★ 0.2 | 85 | BULK-d462c3c8 |
| 13815 | Bulk Product 10a4dde7 | Home & Garden | $682.97 | 47 | ★ 0.9 | 80 | BULK-47049041 |
| 13816 | Bulk Product df07df93 | Books | $473.32 | 159 | ★ 2.7 | 50 | BULK-fe2d2208 |
| 13817 | Bulk Product b47f7f29 | Home & Garden | $852.89 | 354 | ★ 2.8 | 25 | BULK-9406ebad |
| 13818 | Bulk Product 0ee37e47 | Electronics | $502.40 | 364 | ★ 0.7 | 48 | BULK-9f676fe0 |
| 13819 | Bulk Product 402fbaec | Electronics | $774.88 | 338 | ★ 4.4 | 31 | BULK-141e17de |
| 13820 | Bulk Product 7b4181e1 | Books | $242.40 | 470 | ★ 3.6 | 73 | BULK-f1dba0e6 |
| 13821 | Bulk Product 8bb17a8e | Home & Garden | $105.08 | 182 | ★ 3.6 | 32 | BULK-5cb56a4f |
| 13822 | Bulk Product 63115194 | Sports & Outdoors | $570.64 | 497 | ★ 4.5 | 30 | BULK-034bf0d9 |
| 13823 | Bulk Product 58f17f74 | Toys & Games | $78.04 | 366 | ★ 3.0 | 49 | BULK-94da27ea |
| 13824 | Bulk Product b6a763f9 | Electronics | $341.41 | 199 | ★ 3.4 | 84 | BULK-5f520375 |
| 13825 | Bulk Product a4cfa7fb | Toys & Games | $412.02 | 422 | ★ 3.7 | 42 | BULK-703d6f4b |
| 13826 | Bulk Product f9727e14 | Clothing | $800.60 | 155 | ★ 0.0 | 25 | BULK-1914b966 |
| 13827 | Bulk Product 26dfec28 | Home & Garden | $799.51 | 73 | ★ 1.6 | 12 | BULK-d41dd44c |
| 13828 | Bulk Product 9cb6499d | Clothing | $71.30 | 454 | ★ 3.8 | 64 | BULK-8a0cf727 |
| 13829 | Bulk Product a4b96e4d | Books | $960.61 | 195 | ★ 3.0 | 31 | BULK-bcbdf5f8 |
| 13830 | Bulk Product 516d071f | Books | $977.51 | 155 | ★ 0.1 | 61 | BULK-ad07e2e3 |
| 13831 | Bulk Product a4384fa6 | Sports & Outdoors | $709.33 | 209 | ★ 3.2 | 41 | BULK-8f4e6936 |
| 13832 | Bulk Product c2e1598f | Home & Garden | $686.79 | 145 | ★ 1.3 | 70 | BULK-32a11adf |
| 13833 | Bulk Product 1ed1b651 | Sports & Outdoors | $943.68 | 321 | ★ 2.8 | 99 | BULK-70a65841 |
| 13834 | Bulk Product 8214c1b9 | Toys & Games | $139.25 | 53 | ★ 4.6 | 56 | BULK-4e6c8886 |
| 13835 | Bulk Product f6e20330 | Home & Garden | $81.65 | 124 | ★ 1.5 | 72 | BULK-cffc1b73 |
| 13836 | Bulk Product 1863baee | Electronics | $979.77 | 232 | ★ 2.0 | 16 | BULK-bc5dd1dc |
| 13837 | Bulk Product 0424d9ba | Electronics | $260.03 | 292 | ★ 1.3 | 28 | BULK-c7dcf7c5 |
| 13838 | Bulk Product f2a58205 | Toys & Games | $326.87 | 249 | ★ 3.1 | 89 | BULK-92b45ef4 |
| 13839 | Bulk Product 54579672 | Books | $828.61 | 358 | ★ 4.9 | 91 | BULK-4e9e2ed7 |
| 13840 | Bulk Product 50d1fff7 | Home & Garden | $36.76 | 69 | ★ 3.6 | 33 | BULK-fe02fe6d |
| 13841 | Bulk Product ba1f99f8 | Toys & Games | $472.06 | 191 | ★ 4.7 | 6 | BULK-be234837 |
| 13842 | Bulk Product 0c982ce4 | Electronics | $416.38 | 404 | ★ 2.5 | 74 | BULK-f028869b |
| 13843 | Bulk Product e5c17c06 | Home & Garden | $700.83 | 369 | ★ 2.0 | 68 | BULK-8266e563 |
| 13844 | Bulk Product bd6a850d | Clothing | $587.84 | 99 | ★ 3.1 | 43 | BULK-517cda50 |
| 13845 | Bulk Product c7a9a4e6 | Clothing | $379.63 | 155 | ★ 1.7 | 26 | BULK-bd9ce718 |
| 13846 | Bulk Product 29c3f895 | Clothing | $149.10 | 7 | ★ 3.1 | 38 | BULK-8fa749b6 |
| 13847 | Bulk Product dbd2c922 | Books | $54.11 | 157 | ★ 0.9 | 8 | BULK-1fb4c594 |
| 13848 | Bulk Product 72b29f5d | Clothing | $262.18 | 269 | ★ 2.6 | 36 | BULK-893bd8d8 |
| 13849 | Bulk Product 1205d69e | Home & Garden | $640.34 | 271 | ★ 1.9 | 49 | BULK-8bae6927 |
| 13850 | Bulk Product dc1fd443 | Clothing | $869.69 | 431 | ★ 1.4 | 93 | BULK-44be5b4a |
| 13851 | Bulk Product 1060e5ce | Books | $724.79 | 284 | ★ 2.0 | 9 | BULK-b8ee05c4 |
| 13852 | Bulk Product ebfd4209 | Toys & Games | $385.22 | 313 | ★ 3.8 | 25 | BULK-cd31cf2c |
| 13853 | Bulk Product 45e7cd7c | Home & Garden | $486.17 | 393 | ★ 1.2 | 55 | BULK-697c5a73 |
| 13854 | Bulk Product 5ebfab6e | Books | $196.25 | 277 | ★ 2.5 | 22 | BULK-f2c25a79 |
| 13855 | Bulk Product ff1b963f | Toys & Games | $416.50 | 204 | ★ 1.5 | 80 | BULK-84471e8d |
| 13856 | Bulk Product 93177a67 | Clothing | $1,009.23 | 426 | ★ 4.1 | 10 | BULK-c6f2c526 |
| 13857 | Bulk Product a6e92b4f | Sports & Outdoors | $780.05 | 316 | ★ 3.3 | 72 | BULK-39457f8b |
| 13858 | Bulk Product 052d3504 | Clothing | $825.81 | 166 | ★ 1.0 | 81 | BULK-444753a8 |
| 13859 | Bulk Product a06d4d52 | Clothing | $24.18 | 235 | ★ 1.8 | 84 | BULK-4fa4725f |
// 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
};
}