Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 10310 | Bulk Product ec736aea | Sports & Outdoors | $748.55 | 47 | ★ 1.1 | 59 | BULK-6c63a751 |
| 10311 | Bulk Product 5c3cbb6a | Electronics | $728.74 | 295 | ★ 1.5 | 85 | BULK-dc3b4839 |
| 10312 | Bulk Product 43544058 | Clothing | $152.45 | 152 | ★ 3.2 | 12 | BULK-d9bb1153 |
| 10313 | Bulk Product 9182b36f | Electronics | $337.29 | 386 | ★ 1.0 | 29 | BULK-a164f211 |
| 10314 | Bulk Product 9e86259c | Home & Garden | $483.08 | 112 | ★ 3.4 | 92 | BULK-f1f6c878 |
| 10315 | Bulk Product f9ba56a0 | Toys & Games | $103.46 | 261 | ★ 4.1 | 34 | BULK-80fd0194 |
| 10316 | Bulk Product e0951c44 | Sports & Outdoors | $81.45 | 497 | ★ 4.0 | 82 | BULK-84a5d9ff |
| 10317 | Bulk Product c6696a2e | Clothing | $718.99 | 2 | ★ 3.7 | 83 | BULK-debf648b |
| 10318 | Bulk Product d8a2e772 | Electronics | $580.58 | 374 | ★ 4.9 | 33 | BULK-6651e5bf |
| 10319 | Bulk Product 21f317f5 | Home & Garden | $791.16 | 496 | ★ 1.7 | 55 | BULK-ea6048f3 |
| 10320 | Bulk Product bb90ed49 | Books | $565.92 | 163 | ★ 0.7 | 60 | BULK-20a9960f |
| 10321 | Bulk Product cde11a23 | Sports & Outdoors | $903.34 | 229 | ★ 2.4 | 65 | BULK-ecfd789a |
| 10322 | Bulk Product e7c84276 | Books | $113.62 | 227 | ★ 2.1 | 5 | BULK-16915b0c |
| 10323 | Bulk Product 6d02126f | Books | $143.48 | 283 | ★ 3.7 | 37 | BULK-88e40b8c |
| 10324 | Bulk Product cfd84b86 | Sports & Outdoors | $531.24 | 438 | ★ 2.3 | 20 | BULK-57d8efc5 |
| 10325 | Bulk Product 3cc7a0ad | Home & Garden | $689.63 | 15 | ★ 3.5 | 0 | BULK-d5a679b3 |
| 10326 | Bulk Product d3501d32 | Toys & Games | $453.21 | 146 | ★ 2.8 | 56 | BULK-d2ece461 |
| 10327 | Bulk Product a68b92d4 | Sports & Outdoors | $68.94 | 248 | ★ 2.2 | 27 | BULK-257b6684 |
| 10328 | Bulk Product d5f7a178 | Books | $85.96 | 400 | ★ 1.2 | 94 | BULK-3a581c09 |
| 10329 | Bulk Product 8b7e7733 | Sports & Outdoors | $697.17 | 320 | ★ 1.8 | 5 | BULK-93a64c53 |
| 10330 | Bulk Product 9b00f72f | Books | $608.28 | 338 | ★ 0.0 | 45 | BULK-35f6c5de |
| 10331 | Bulk Product e4231e63 | Electronics | $592.08 | 95 | ★ 2.0 | 91 | BULK-ae6d737e |
| 10332 | Bulk Product 7cf035ad | Toys & Games | $721.62 | 115 | ★ 4.0 | 97 | BULK-0fd1f39b |
| 10333 | Bulk Product 0e137ea0 | Home & Garden | $608.77 | 384 | ★ 3.7 | 15 | BULK-156a91b3 |
| 10334 | Bulk Product cedf8bf9 | Books | $185.76 | 278 | ★ 0.8 | 67 | BULK-c819f904 |
| 10335 | Bulk Product 1f5b41c9 | Books | $832.32 | 10 | ★ 1.1 | 8 | BULK-5d87d1c9 |
| 10336 | Bulk Product 219f1e3b | Home & Garden | $979.38 | 216 | ★ 2.2 | 29 | BULK-02d4975a |
| 10337 | Bulk Product de484c21 | Electronics | $652.65 | 139 | ★ 4.1 | 94 | BULK-8729f13f |
| 10338 | Bulk Product 149f5dcb | Electronics | $642.13 | 12 | ★ 3.1 | 69 | BULK-671726db |
| 10339 | Bulk Product d620a391 | Clothing | $294.55 | 462 | ★ 4.0 | 5 | BULK-652606d1 |
| 10340 | Bulk Product 79d8ba62 | Toys & Games | $871.27 | 91 | ★ 3.3 | 35 | BULK-3b65fd58 |
| 10341 | Bulk Product 104d9e97 | Electronics | $39.18 | 481 | ★ 0.2 | 30 | BULK-767d6c42 |
| 10342 | Bulk Product ca6b78cd | Sports & Outdoors | $944.55 | 363 | ★ 0.7 | 88 | BULK-a24b9f88 |
| 10343 | Bulk Product b2ebaf3b | Home & Garden | $836.53 | 67 | ★ 0.0 | 94 | BULK-eda7c288 |
| 10344 | Bulk Product 19cf0cad | Clothing | $453.79 | 352 | ★ 4.9 | 56 | BULK-aebbc708 |
| 10345 | Bulk Product e87c018b | Sports & Outdoors | $17.32 | 324 | ★ 2.3 | 27 | BULK-23767e60 |
| 10346 | Bulk Product 7cca0198 | Electronics | $559.79 | 338 | ★ 1.8 | 75 | BULK-2240f58c |
| 10347 | Bulk Product 8e700a2b | Books | $379.07 | 97 | ★ 3.7 | 79 | BULK-e7f4f0ec |
| 10348 | Bulk Product 3aa0835a | Home & Garden | $620.91 | 376 | ★ 3.3 | 25 | BULK-8164e209 |
| 10349 | Bulk Product 7a037301 | Home & Garden | $957.23 | 314 | ★ 4.7 | 7 | BULK-3f40b890 |
| 10350 | Bulk Product 266161c7 | Books | $509.79 | 468 | ★ 2.6 | 19 | BULK-c55a5a47 |
| 10351 | Bulk Product a6dba78b | Clothing | $252.60 | 107 | ★ 3.7 | 0 | BULK-6bea8b4b |
| 10352 | Bulk Product 2ede0562 | Sports & Outdoors | $944.21 | 456 | ★ 3.3 | 58 | BULK-dfd16da2 |
| 10353 | Bulk Product c89cfbc9 | Electronics | $253.56 | 301 | ★ 2.7 | 52 | BULK-6d797271 |
| 10354 | Bulk Product ac76ca11 | Home & Garden | $728.81 | 348 | ★ 1.5 | 50 | BULK-a18cd51c |
| 10355 | Bulk Product 9ea6da42 | Home & Garden | $172.54 | 242 | ★ 3.2 | 76 | BULK-224ab9b3 |
| 10356 | Bulk Product 784f1345 | Toys & Games | $953.30 | 327 | ★ 3.1 | 36 | BULK-7e082e9f |
| 10357 | Bulk Product 7a542e47 | Clothing | $140.20 | 366 | ★ 4.4 | 84 | BULK-a2be34c6 |
| 10358 | Bulk Product ac566758 | Sports & Outdoors | $57.11 | 60 | ★ 1.6 | 36 | BULK-eeb1c15c |
| 10359 | Bulk Product 9fc4346f | Sports & Outdoors | $243.48 | 201 | ★ 3.8 | 59 | BULK-884d9165 |
// 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
};
}