Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 19760 | Bulk Product 054005f4 | Sports & Outdoors | $947.17 | 231 | ★ 3.0 | 81 | BULK-e881c7ee |
| 19761 | Bulk Product f10e5cb2 | Electronics | $984.46 | 226 | ★ 3.4 | 56 | BULK-81e06de1 |
| 19762 | Bulk Product d3989c07 | Sports & Outdoors | $357.83 | 255 | ★ 4.8 | 17 | BULK-2fc78484 |
| 19763 | Bulk Product 32d03f22 | Electronics | $206.48 | 364 | ★ 4.7 | 26 | BULK-9bab7382 |
| 19764 | Bulk Product 35211777 | Sports & Outdoors | $556.38 | 322 | ★ 3.9 | 74 | BULK-d00debe4 |
| 19765 | Bulk Product aadc53d1 | Sports & Outdoors | $54.00 | 432 | ★ 2.7 | 10 | BULK-0794075b |
| 19766 | Bulk Product c9101d3e | Clothing | $362.01 | 320 | ★ 1.5 | 19 | BULK-e98b60b2 |
| 19767 | Bulk Product 399ca27c | Toys & Games | $185.67 | 142 | ★ 2.8 | 95 | BULK-ac241c9c |
| 19768 | Bulk Product cd134d29 | Sports & Outdoors | $624.74 | 258 | ★ 4.1 | 74 | BULK-499898fc |
| 19769 | Bulk Product ecf9602a | Clothing | $508.84 | 156 | ★ 0.6 | 18 | BULK-b11765f6 |
| 19770 | Bulk Product af470f0c | Electronics | $759.30 | 187 | ★ 1.2 | 4 | BULK-108cbf77 |
| 19771 | Bulk Product 37fd5215 | Sports & Outdoors | $87.42 | 258 | ★ 3.1 | 91 | BULK-76d839c8 |
| 19772 | Bulk Product 04163b98 | Clothing | $337.61 | 110 | ★ 4.1 | 94 | BULK-4e172b83 |
| 19773 | Bulk Product 6583f1a2 | Clothing | $416.73 | 321 | ★ 0.9 | 9 | BULK-b1309aa0 |
| 19774 | Bulk Product 256bf2f4 | Clothing | $541.68 | 331 | ★ 2.2 | 64 | BULK-c5ebb1a8 |
| 19775 | Bulk Product 6285d0bf | Toys & Games | $253.56 | 35 | ★ 2.6 | 38 | BULK-249d6f5d |
| 19776 | Bulk Product 9cbf938a | Electronics | $644.46 | 188 | ★ 4.4 | 91 | BULK-1e6d4101 |
| 19777 | Bulk Product 85b8bb71 | Home & Garden | $801.26 | 443 | ★ 3.6 | 89 | BULK-4f1d1dcf |
| 19778 | Bulk Product 4ed34f89 | Books | $731.64 | 41 | ★ 5.0 | 50 | BULK-8cef2b9b |
| 19779 | Bulk Product f22de828 | Clothing | $487.90 | 248 | ★ 4.7 | 82 | BULK-ce315bae |
| 19780 | Bulk Product 89159b06 | Clothing | $39.61 | 497 | ★ 4.6 | 74 | BULK-85b78725 |
| 19781 | Bulk Product 8e26cc97 | Home & Garden | $829.24 | 382 | ★ 0.1 | 62 | BULK-6a41361c |
| 19782 | Bulk Product 95882bff | Electronics | $837.92 | 449 | ★ 1.1 | 52 | BULK-3863d049 |
| 19783 | Bulk Product 3077695c | Home & Garden | $618.49 | 95 | ★ 2.1 | 21 | BULK-4323e765 |
| 19784 | Bulk Product b07eaac3 | Books | $802.93 | 306 | ★ 4.9 | 45 | BULK-4036613d |
| 19785 | Bulk Product 55f0ad1a | Toys & Games | $762.34 | 11 | ★ 0.4 | 7 | BULK-e9b2c4cd |
| 19786 | Bulk Product c3f9527f | Home & Garden | $564.97 | 242 | ★ 0.9 | 4 | BULK-bf0926a4 |
| 19787 | Bulk Product b1e2b9ea | Toys & Games | $142.22 | 391 | ★ 1.3 | 57 | BULK-7e634aab |
| 19788 | Bulk Product b2f6fd1b | Clothing | $428.72 | 134 | ★ 2.3 | 18 | BULK-217df683 |
| 19789 | Bulk Product 8682bb95 | Books | $340.70 | 404 | ★ 4.2 | 80 | BULK-de50f763 |
| 19790 | Bulk Product 7da9fabe | Electronics | $563.59 | 50 | ★ 1.4 | 76 | BULK-abcde8ab |
| 19791 | Bulk Product 04ca4df3 | Books | $574.36 | 460 | ★ 3.9 | 45 | BULK-64e50766 |
| 19792 | Bulk Product 3954739c | Clothing | $309.72 | 319 | ★ 3.6 | 51 | BULK-d57f2623 |
| 19793 | Bulk Product 6d17948f | Toys & Games | $318.77 | 226 | ★ 2.9 | 50 | BULK-a20797fd |
| 19794 | Bulk Product fbe79ebc | Sports & Outdoors | $558.00 | 373 | ★ 0.3 | 70 | BULK-76e94d76 |
| 19795 | Bulk Product e1546ee5 | Home & Garden | $22.03 | 173 | ★ 2.6 | 34 | BULK-ca4f71b9 |
| 19796 | Bulk Product fed4efce | Home & Garden | $84.73 | 73 | ★ 3.4 | 81 | BULK-8273810b |
| 19797 | Bulk Product 8dbc2ff5 | Books | $10.97 | 224 | ★ 4.8 | 51 | BULK-d0982648 |
| 19798 | Bulk Product 2c6e7f42 | Clothing | $465.64 | 204 | ★ 2.6 | 1 | BULK-b76fe253 |
| 19799 | Bulk Product ee9b2bf1 | Sports & Outdoors | $409.36 | 21 | ★ 1.1 | 85 | BULK-06dc64ea |
| 19800 | Bulk Product 0d14b160 | Sports & Outdoors | $704.21 | 147 | ★ 4.8 | 86 | BULK-47a2f686 |
| 19801 | Bulk Product d061118d | Electronics | $459.84 | 158 | ★ 4.6 | 19 | BULK-374e58d4 |
| 19802 | Bulk Product 6d62f3b4 | Home & Garden | $53.24 | 184 | ★ 2.4 | 46 | BULK-22b1a081 |
| 19803 | Bulk Product 11ad4708 | Electronics | $324.84 | 349 | ★ 1.1 | 21 | BULK-0aa154d0 |
| 19804 | Bulk Product 1caba4b7 | Home & Garden | $158.48 | 347 | ★ 1.3 | 56 | BULK-ff390d59 |
| 19805 | Bulk Product e6c9deae | Home & Garden | $703.35 | 177 | ★ 4.7 | 99 | BULK-bbae0005 |
| 19806 | Bulk Product 2fa379fd | Books | $670.44 | 104 | ★ 4.2 | 31 | BULK-ce1aef76 |
| 19807 | Bulk Product 5316bfc5 | Clothing | $872.07 | 331 | ★ 1.0 | 70 | BULK-e2ee9917 |
| 19808 | Bulk Product 99e3fbb3 | Books | $197.04 | 350 | ★ 0.5 | 57 | BULK-24d8184c |
| 19809 | Bulk Product 925f2943 | Toys & Games | $647.45 | 31 | ★ 4.0 | 8 | BULK-b5c9aa54 |
// 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
};
}