Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 10110 | Bulk Product 60aa0dae | Books | $378.43 | 48 | ★ 0.0 | 4 | BULK-4ad8a371 |
| 10111 | Bulk Product 7534a1ad | Sports & Outdoors | $271.06 | 332 | ★ 3.2 | 46 | BULK-96b96fb0 |
| 10112 | Bulk Product f50a3959 | Clothing | $31.65 | 317 | ★ 1.0 | 14 | BULK-5e744d4b |
| 10113 | Bulk Product 10bbc7b7 | Sports & Outdoors | $292.45 | 486 | ★ 0.3 | 46 | BULK-3745d740 |
| 10114 | Bulk Product 3a38e085 | Home & Garden | $375.39 | 57 | ★ 4.3 | 60 | BULK-cb4b60cb |
| 10115 | Bulk Product 9d0ebb3d | Home & Garden | $791.18 | 59 | ★ 3.1 | 99 | BULK-a6d0f311 |
| 10116 | Bulk Product ddb89625 | Books | $451.06 | 147 | ★ 2.2 | 0 | BULK-6a90e602 |
| 10117 | Bulk Product baa734aa | Books | $117.35 | 259 | ★ 1.1 | 85 | BULK-0bd21f45 |
| 10118 | Bulk Product defd7055 | Toys & Games | $342.73 | 318 | ★ 3.5 | 3 | BULK-798f59c7 |
| 10119 | Bulk Product dd8dfa29 | Electronics | $184.79 | 200 | ★ 0.8 | 24 | BULK-a0433e38 |
| 10120 | Bulk Product d8116b3c | Books | $644.12 | 281 | ★ 1.9 | 43 | BULK-9d841db7 |
| 10121 | Bulk Product 9b19828c | Books | $868.86 | 321 | ★ 3.6 | 20 | BULK-0c08b70b |
| 10122 | Bulk Product ded0ce67 | Toys & Games | $174.63 | 485 | ★ 0.2 | 47 | BULK-fac21050 |
| 10123 | Bulk Product 2aec0cd5 | Books | $761.73 | 111 | ★ 0.5 | 53 | BULK-4d9bc6df |
| 10124 | Bulk Product 4fd7484e | Home & Garden | $792.37 | 446 | ★ 4.9 | 22 | BULK-0b041bce |
| 10125 | Bulk Product 8dff8bd6 | Toys & Games | $218.37 | 8 | ★ 3.2 | 71 | BULK-284a7272 |
| 10126 | Bulk Product 723831ff | Toys & Games | $600.18 | 474 | ★ 4.6 | 38 | BULK-9760d359 |
| 10127 | Bulk Product faf4cb2b | Clothing | $175.64 | 303 | ★ 3.0 | 90 | BULK-128a64a1 |
| 10128 | Bulk Product 6536d09e | Electronics | $377.63 | 264 | ★ 2.0 | 26 | BULK-17c69f76 |
| 10129 | Bulk Product bf8a1967 | Electronics | $21.47 | 330 | ★ 2.7 | 20 | BULK-6d3183a0 |
| 10130 | Bulk Product 83490c1e | Books | $98.71 | 382 | ★ 3.9 | 82 | BULK-ec9fc29d |
| 10131 | Bulk Product 8fb2b5af | Electronics | $731.17 | 129 | ★ 4.5 | 26 | BULK-f0fd3e7a |
| 10132 | Bulk Product ffa051d5 | Sports & Outdoors | $469.26 | 265 | ★ 4.6 | 66 | BULK-8d1c1551 |
| 10133 | Bulk Product 64f52ed5 | Electronics | $562.79 | 134 | ★ 1.1 | 56 | BULK-5389916b |
| 10134 | Bulk Product 791ab2ae | Electronics | $596.51 | 318 | ★ 0.8 | 99 | BULK-1118c109 |
| 10135 | Bulk Product 0f472b7a | Books | $540.32 | 136 | ★ 4.3 | 16 | BULK-ca63cfc8 |
| 10136 | Bulk Product f1ca0325 | Home & Garden | $845.06 | 58 | ★ 3.8 | 33 | BULK-c50a9d67 |
| 10137 | Bulk Product bef9fae4 | Sports & Outdoors | $166.15 | 336 | ★ 2.7 | 69 | BULK-2963e67b |
| 10138 | Bulk Product e49db765 | Clothing | $687.73 | 236 | ★ 2.2 | 95 | BULK-58ec3f50 |
| 10139 | Bulk Product 458470d8 | Clothing | $246.40 | 455 | ★ 1.1 | 55 | BULK-11baa4bc |
| 10140 | Bulk Product 34d721c1 | Home & Garden | $962.74 | 333 | ★ 0.1 | 33 | BULK-dae7e5a3 |
| 10141 | Bulk Product f7001365 | Books | $454.15 | 155 | ★ 1.6 | 40 | BULK-6b768fdf |
| 10142 | Bulk Product be103cf2 | Books | $461.26 | 276 | ★ 3.0 | 73 | BULK-7e1ea0ed |
| 10143 | Bulk Product 8aae9762 | Electronics | $293.01 | 11 | ★ 1.9 | 85 | BULK-8b21465d |
| 10144 | Bulk Product 0d9f38b9 | Home & Garden | $423.45 | 491 | ★ 3.9 | 38 | BULK-3a126cbf |
| 10145 | Bulk Product eaaac38b | Home & Garden | $792.53 | 452 | ★ 4.1 | 8 | BULK-dff2b8a0 |
| 10146 | Bulk Product 8fe19c38 | Home & Garden | $664.44 | 133 | ★ 3.4 | 37 | BULK-9805def5 |
| 10147 | Bulk Product 25675931 | Clothing | $443.37 | 194 | ★ 0.1 | 17 | BULK-f9b5c6a9 |
| 10148 | Bulk Product cef5be6c | Home & Garden | $964.35 | 57 | ★ 2.0 | 70 | BULK-27f233af |
| 10149 | Bulk Product 0cea6bf0 | Home & Garden | $65.84 | 177 | ★ 2.7 | 78 | BULK-b388cd05 |
| 10150 | Bulk Product f3d4db2c | Electronics | $577.90 | 272 | ★ 3.0 | 48 | BULK-e74ae48d |
| 10151 | Bulk Product c02dee9c | Sports & Outdoors | $366.40 | 245 | ★ 0.4 | 12 | BULK-5ff85502 |
| 10152 | Bulk Product a9cff78b | Home & Garden | $426.16 | 104 | ★ 3.7 | 32 | BULK-28edf340 |
| 10153 | Bulk Product a26e183c | Electronics | $534.37 | 482 | ★ 1.8 | 94 | BULK-f82ee0a3 |
| 10154 | Bulk Product c7d6413b | Home & Garden | $264.03 | 351 | ★ 4.9 | 29 | BULK-28de3e9c |
| 10155 | Bulk Product 0e3d8e80 | Toys & Games | $519.66 | 93 | ★ 1.7 | 31 | BULK-295f65a5 |
| 10156 | Bulk Product edd4e3c8 | Books | $896.22 | 221 | ★ 4.5 | 60 | BULK-eda8e8ce |
| 10157 | Bulk Product e1200a28 | Clothing | $495.59 | 413 | ★ 3.9 | 3 | BULK-7992b581 |
| 10158 | Bulk Product 1ee8d1c5 | Toys & Games | $572.58 | 385 | ★ 2.6 | 49 | BULK-4b582d8a |
| 10159 | Bulk Product fd523235 | Clothing | $417.60 | 277 | ★ 0.1 | 32 | BULK-d3f36f2d |
// 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
};
}