Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 15610 | Bulk Product a506d045 | Clothing | $906.96 | 268 | ★ 1.2 | 57 | BULK-17587289 |
| 15611 | Bulk Product 354b7dce | Clothing | $195.58 | 9 | ★ 2.9 | 59 | BULK-d8efd09e |
| 15612 | Bulk Product ff078878 | Toys & Games | $692.75 | 237 | ★ 0.3 | 6 | BULK-b1e88cb4 |
| 15613 | Bulk Product a5a6cee5 | Home & Garden | $545.85 | 335 | ★ 1.8 | 26 | BULK-a6d35380 |
| 15614 | Bulk Product 95e454d4 | Books | $268.10 | 429 | ★ 0.9 | 48 | BULK-cb548f99 |
| 15615 | Bulk Product 1dd4e4fc | Home & Garden | $996.50 | 291 | ★ 4.0 | 62 | BULK-d7aa5027 |
| 15616 | Bulk Product f468de8e | Home & Garden | $218.71 | 74 | ★ 3.1 | 62 | BULK-a7a99c75 |
| 15617 | Bulk Product 7eae7969 | Sports & Outdoors | $310.15 | 302 | ★ 0.2 | 12 | BULK-7e6c8e35 |
| 15618 | Bulk Product b6766b7c | Home & Garden | $244.75 | 335 | ★ 0.8 | 18 | BULK-b7c4316e |
| 15619 | Bulk Product 23ec0802 | Toys & Games | $449.72 | 149 | ★ 0.9 | 53 | BULK-ffef9afa |
| 15620 | Bulk Product 414469d3 | Clothing | $426.50 | 110 | ★ 0.8 | 92 | BULK-07e0b388 |
| 15621 | Bulk Product aea63844 | Home & Garden | $217.79 | 222 | ★ 3.3 | 69 | BULK-7550b464 |
| 15622 | Bulk Product 1e6e7289 | Books | $246.90 | 356 | ★ 2.6 | 27 | BULK-ac357848 |
| 15623 | Bulk Product bd6f551c | Books | $629.19 | 324 | ★ 3.7 | 46 | BULK-ace6626e |
| 15624 | Bulk Product c30aaebd | Toys & Games | $177.71 | 348 | ★ 1.1 | 19 | BULK-4566deb0 |
| 15625 | Bulk Product 94e3edee | Home & Garden | $238.07 | 198 | ★ 0.6 | 29 | BULK-5d5e120f |
| 15626 | Bulk Product d7328d84 | Books | $835.37 | 299 | ★ 3.6 | 10 | BULK-d419f674 |
| 15627 | Bulk Product 6f809c1a | Books | $591.83 | 361 | ★ 0.5 | 85 | BULK-34caae55 |
| 15628 | Bulk Product 4819458f | Sports & Outdoors | $374.51 | 165 | ★ 2.3 | 60 | BULK-a628d2c3 |
| 15629 | Bulk Product 605bec21 | Home & Garden | $686.68 | 158 | ★ 1.1 | 1 | BULK-40a58f6a |
| 15630 | Bulk Product cc29d72c | Toys & Games | $720.74 | 496 | ★ 2.8 | 23 | BULK-5efc256d |
| 15631 | Bulk Product d8d769d7 | Clothing | $176.02 | 404 | ★ 2.1 | 73 | BULK-b728525a |
| 15632 | Bulk Product bd2ee68b | Sports & Outdoors | $869.80 | 1 | ★ 2.4 | 23 | BULK-7638d784 |
| 15633 | Bulk Product 66ed4509 | Electronics | $105.80 | 52 | ★ 4.3 | 44 | BULK-521936cf |
| 15634 | Bulk Product b10e84ff | Home & Garden | $947.50 | 123 | ★ 1.6 | 35 | BULK-d24a6590 |
| 15635 | Bulk Product 078abe1b | Books | $155.54 | 159 | ★ 1.1 | 0 | BULK-164bb2cc |
| 15636 | Bulk Product b0f0d47a | Sports & Outdoors | $363.60 | 292 | ★ 1.4 | 13 | BULK-f475306a |
| 15637 | Bulk Product 0b159be7 | Clothing | $831.32 | 498 | ★ 4.6 | 67 | BULK-4dbc9e54 |
| 15638 | Bulk Product 66c0eb91 | Books | $538.98 | 160 | ★ 1.3 | 26 | BULK-c3b97a7a |
| 15639 | Bulk Product 5f7f48a2 | Clothing | $421.98 | 368 | ★ 4.2 | 66 | BULK-962b6b80 |
| 15640 | Bulk Product 60e65cfa | Sports & Outdoors | $890.88 | 164 | ★ 3.5 | 85 | BULK-69199d14 |
| 15641 | Bulk Product aeaed84e | Books | $56.16 | 95 | ★ 4.3 | 42 | BULK-b3c27f6e |
| 15642 | Bulk Product 7047f2f6 | Electronics | $693.28 | 33 | ★ 3.7 | 83 | BULK-c978e4aa |
| 15643 | Bulk Product 6adfe77a | Home & Garden | $287.99 | 476 | ★ 3.1 | 35 | BULK-b6e4d2e5 |
| 15644 | Bulk Product 24286985 | Books | $635.83 | 127 | ★ 4.7 | 25 | BULK-1a5888e2 |
| 15645 | Bulk Product 35d1e462 | Clothing | $646.96 | 24 | ★ 4.7 | 68 | BULK-1fc07c3e |
| 15646 | Bulk Product dfd0005f | Electronics | $107.09 | 22 | ★ 4.0 | 51 | BULK-6c7bda3e |
| 15647 | Bulk Product 019aa7f0 | Sports & Outdoors | $353.60 | 41 | ★ 0.5 | 77 | BULK-fddd61a6 |
| 15648 | Bulk Product e0d2c1f4 | Sports & Outdoors | $66.54 | 158 | ★ 0.6 | 12 | BULK-cbf5f0c0 |
| 15649 | Bulk Product f852f9d8 | Clothing | $722.56 | 41 | ★ 1.5 | 99 | BULK-2b038b60 |
| 15650 | Bulk Product c3d9854e | Electronics | $953.25 | 229 | ★ 1.6 | 63 | BULK-671b43f7 |
| 15651 | Bulk Product 8e04fa89 | Books | $433.51 | 190 | ★ 3.7 | 71 | BULK-2d9456b1 |
| 15652 | Bulk Product e6850a6c | Sports & Outdoors | $924.07 | 199 | ★ 3.6 | 30 | BULK-7eb6d927 |
| 15653 | Bulk Product 8c729dac | Books | $95.76 | 305 | ★ 1.0 | 65 | BULK-4f80012a |
| 15654 | Bulk Product cbb387c1 | Home & Garden | $724.03 | 11 | ★ 3.3 | 11 | BULK-85768d8f |
| 15655 | Bulk Product 097a6455 | Home & Garden | $674.88 | 114 | ★ 4.9 | 38 | BULK-db96509e |
| 15656 | Bulk Product 6aa52e12 | Books | $801.59 | 231 | ★ 1.6 | 97 | BULK-2d2849ef |
| 15657 | Bulk Product d9c49779 | Clothing | $187.35 | 157 | ★ 3.2 | 96 | BULK-2b9caa82 |
| 15658 | Bulk Product aee08eac | Books | $300.85 | 137 | ★ 1.5 | 47 | BULK-49141a52 |
| 15659 | Bulk Product 7ee5358b | Toys & Games | $323.35 | 20 | ★ 1.8 | 49 | BULK-39a2d38e |
// 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
};
}