Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 6160 | Bulk Product a9e50809 | Sports & Outdoors | $127.16 | 54 | ★ 0.8 | 83 | BULK-230bcde4 |
| 6161 | Bulk Product dd18a02c | Sports & Outdoors | $507.03 | 475 | ★ 2.0 | 88 | BULK-7eae3d3a |
| 6162 | Bulk Product a5a20506 | Home & Garden | $700.34 | 488 | ★ 2.0 | 44 | BULK-d265410b |
| 6163 | Bulk Product ec1c9036 | Home & Garden | $75.60 | 34 | ★ 2.3 | 13 | BULK-eb66b767 |
| 6164 | Bulk Product 38525b73 | Toys & Games | $230.09 | 93 | ★ 4.0 | 11 | BULK-1cc752aa |
| 6165 | Bulk Product 57049822 | Sports & Outdoors | $308.52 | 154 | ★ 1.0 | 19 | BULK-52f0223a |
| 6166 | Bulk Product e29d10a5 | Books | $829.83 | 173 | ★ 1.0 | 30 | BULK-e4b10c71 |
| 6167 | Bulk Product 4e30662b | Electronics | $242.14 | 139 | ★ 2.5 | 44 | BULK-0f5300e4 |
| 6168 | Bulk Product 9f0abb21 | Clothing | $89.93 | 380 | ★ 2.1 | 69 | BULK-55c267d9 |
| 6169 | Bulk Product 054a46f8 | Home & Garden | $365.82 | 272 | ★ 1.3 | 38 | BULK-0817546c |
| 6170 | Bulk Product 0ccd94c8 | Home & Garden | $76.38 | 175 | ★ 3.2 | 28 | BULK-b3c9b05a |
| 6171 | Bulk Product 280a42e1 | Sports & Outdoors | $409.03 | 326 | ★ 4.5 | 62 | BULK-408bb471 |
| 6172 | Bulk Product 34a4b743 | Toys & Games | $846.60 | 163 | ★ 0.8 | 91 | BULK-feb0ae4e |
| 6173 | Bulk Product b5392e49 | Electronics | $149.35 | 112 | ★ 1.2 | 31 | BULK-8bc511aa |
| 6174 | Bulk Product 44a99626 | Electronics | $318.71 | 19 | ★ 3.6 | 20 | BULK-94c27112 |
| 6175 | Bulk Product d8140b9f | Books | $733.53 | 106 | ★ 3.9 | 19 | BULK-ced29fdc |
| 6176 | Bulk Product 04f3f48a | Electronics | $871.39 | 346 | ★ 2.8 | 53 | BULK-f2994810 |
| 6177 | Bulk Product 036367fe | Toys & Games | $266.72 | 450 | ★ 3.8 | 65 | BULK-6361c744 |
| 6178 | Bulk Product 57a139f5 | Clothing | $97.02 | 136 | ★ 1.2 | 16 | BULK-a5da39fc |
| 6179 | Bulk Product a0bfdf79 | Electronics | $997.62 | 20 | ★ 1.3 | 18 | BULK-77b3a3fe |
| 6180 | Bulk Product 1501cd0b | Clothing | $926.78 | 330 | ★ 0.7 | 22 | BULK-8de6cc81 |
| 6181 | Bulk Product ebc8b5de | Toys & Games | $209.26 | 370 | ★ 3.0 | 79 | BULK-0f645b46 |
| 6182 | Bulk Product 68b55845 | Sports & Outdoors | $432.64 | 295 | ★ 4.7 | 5 | BULK-0daec666 |
| 6183 | Bulk Product 631cd6f0 | Toys & Games | $822.84 | 399 | ★ 2.7 | 29 | BULK-fb5ba630 |
| 6184 | Bulk Product e61627c0 | Toys & Games | $993.72 | 152 | ★ 3.0 | 32 | BULK-b997f59a |
| 6185 | Bulk Product f99a3a53 | Electronics | $338.90 | 311 | ★ 2.1 | 19 | BULK-ee499a1c |
| 6186 | Bulk Product b735fb4b | Home & Garden | $743.35 | 434 | ★ 3.8 | 93 | BULK-cd82ef5a |
| 6187 | Bulk Product 6df9fce1 | Home & Garden | $65.16 | 44 | ★ 3.6 | 74 | BULK-25173daf |
| 6188 | Bulk Product 19f5c2d9 | Clothing | $762.95 | 401 | ★ 3.8 | 4 | BULK-6e7b6fef |
| 6189 | Bulk Product cc547410 | Clothing | $90.37 | 58 | ★ 1.9 | 76 | BULK-aadf4b51 |
| 6190 | Bulk Product 1b59a603 | Books | $161.27 | 185 | ★ 3.0 | 96 | BULK-5ab9b713 |
| 6191 | Bulk Product e808de3d | Sports & Outdoors | $118.36 | 243 | ★ 1.5 | 7 | BULK-f01ea699 |
| 6192 | Bulk Product 0ef29261 | Home & Garden | $538.18 | 115 | ★ 2.3 | 93 | BULK-bb267c9a |
| 6193 | Bulk Product 63aa772b | Books | $764.78 | 3 | ★ 1.4 | 39 | BULK-79e433ff |
| 6194 | Bulk Product d119a250 | Clothing | $180.67 | 480 | ★ 0.8 | 47 | BULK-2dd16cac |
| 6195 | Bulk Product 9e7a1e90 | Home & Garden | $973.28 | 327 | ★ 4.7 | 3 | BULK-049571fe |
| 6196 | Bulk Product 95f077e2 | Home & Garden | $815.59 | 370 | ★ 2.0 | 18 | BULK-9abfd417 |
| 6197 | Bulk Product 873eb4d1 | Toys & Games | $344.30 | 298 | ★ 4.5 | 2 | BULK-07dc20f0 |
| 6198 | Bulk Product 153f5300 | Home & Garden | $205.08 | 326 | ★ 0.2 | 50 | BULK-b2edfa0b |
| 6199 | Bulk Product dbc686b9 | Books | $344.24 | 331 | ★ 2.7 | 63 | BULK-2075972f |
| 6200 | Bulk Product 2ffd2869 | Electronics | $853.25 | 30 | ★ 2.4 | 16 | BULK-063a3a81 |
| 6201 | Bulk Product 301c87b2 | Clothing | $389.60 | 65 | ★ 2.5 | 80 | BULK-0f59bf05 |
| 6202 | Bulk Product 0030e010 | Electronics | $96.64 | 349 | ★ 1.8 | 35 | BULK-eee0c523 |
| 6203 | Bulk Product 8e39f505 | Clothing | $337.45 | 284 | ★ 3.5 | 84 | BULK-d0b0303b |
| 6204 | Bulk Product 61490773 | Sports & Outdoors | $326.00 | 175 | ★ 3.4 | 86 | BULK-e2f7fa07 |
| 6205 | Bulk Product 6bd81a43 | Toys & Games | $457.06 | 360 | ★ 2.9 | 18 | BULK-1e2164d6 |
| 6206 | Bulk Product effac110 | Sports & Outdoors | $896.11 | 368 | ★ 3.9 | 0 | BULK-475685d4 |
| 6207 | Bulk Product 100aa787 | Toys & Games | $907.26 | 192 | ★ 0.1 | 47 | BULK-d23b28e1 |
| 6208 | Bulk Product d62c1583 | Home & Garden | $162.57 | 325 | ★ 3.2 | 91 | BULK-d05cbc18 |
| 6209 | Bulk Product 71c3749b | Home & Garden | $972.48 | 11 | ★ 1.6 | 7 | BULK-7e6691b0 |
// 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
};
}