Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 21110 | Bulk Product f1879e38 | Clothing | $28.66 | 343 | ★ 3.7 | 87 | BULK-573022a4 |
| 21111 | Bulk Product 62cf194b | Books | $150.52 | 476 | ★ 0.9 | 7 | BULK-71e6016b |
| 21112 | Bulk Product efbe3a9e | Toys & Games | $974.02 | 128 | ★ 2.0 | 60 | BULK-8a3a8e32 |
| 21113 | Bulk Product 0cd86a74 | Electronics | $739.13 | 266 | ★ 1.1 | 73 | BULK-5ae66d87 |
| 21114 | Bulk Product 13707cb1 | Home & Garden | $654.26 | 134 | ★ 4.3 | 95 | BULK-a1ce315f |
| 21115 | Bulk Product 9c840b03 | Home & Garden | $32.97 | 44 | ★ 0.6 | 45 | BULK-9574f866 |
| 21116 | Bulk Product d2e39784 | Clothing | $464.91 | 153 | ★ 4.5 | 6 | BULK-554a126e |
| 21117 | Bulk Product 81ad7081 | Sports & Outdoors | $460.62 | 245 | ★ 1.5 | 8 | BULK-2ffb243d |
| 21118 | Bulk Product 9ea748f2 | Toys & Games | $48.42 | 179 | ★ 2.9 | 79 | BULK-38a19064 |
| 21119 | Bulk Product 16b33d76 | Books | $521.67 | 109 | ★ 2.2 | 22 | BULK-d3a1a5c2 |
| 21120 | Bulk Product eccfafbd | Electronics | $854.37 | 96 | ★ 0.7 | 26 | BULK-f19dcd6f |
| 21121 | Bulk Product 4325df06 | Home & Garden | $902.83 | 70 | ★ 0.2 | 21 | BULK-b6586eb8 |
| 21122 | Bulk Product 305a328d | Home & Garden | $70.21 | 210 | ★ 2.6 | 83 | BULK-928b2284 |
| 21123 | Bulk Product 4fbb6583 | Clothing | $372.31 | 288 | ★ 2.6 | 75 | BULK-a597210c |
| 21124 | Bulk Product 9d6993a2 | Electronics | $672.36 | 446 | ★ 4.8 | 86 | BULK-3dc44462 |
| 21125 | Bulk Product 0ad9e9d5 | Toys & Games | $592.03 | 422 | ★ 4.7 | 17 | BULK-83ecb9bc |
| 21126 | Bulk Product 564c9648 | Home & Garden | $936.48 | 352 | ★ 4.1 | 58 | BULK-594a5b28 |
| 21127 | Bulk Product 28e7cffb | Clothing | $550.53 | 430 | ★ 1.5 | 34 | BULK-1e4520a3 |
| 21128 | Bulk Product 7a67d2dd | Toys & Games | $673.14 | 323 | ★ 4.2 | 55 | BULK-3329697a |
| 21129 | Bulk Product f87f950c | Home & Garden | $605.25 | 375 | ★ 3.3 | 59 | BULK-ebcc99e6 |
| 21130 | Bulk Product 413781fa | Sports & Outdoors | $949.52 | 487 | ★ 0.5 | 70 | BULK-a7beaf91 |
| 21131 | Bulk Product 4fd4c1f1 | Toys & Games | $311.90 | 228 | ★ 1.5 | 54 | BULK-2f786257 |
| 21132 | Bulk Product e20d4681 | Books | $549.68 | 205 | ★ 4.8 | 15 | BULK-bfed7a95 |
| 21133 | Bulk Product afba026a | Clothing | $964.34 | 48 | ★ 3.1 | 95 | BULK-c936f63c |
| 21134 | Bulk Product 328e86fb | Books | $890.64 | 87 | ★ 2.6 | 33 | BULK-a218354b |
| 21135 | Bulk Product 6fcdf91d | Home & Garden | $726.45 | 406 | ★ 1.0 | 14 | BULK-bf897af6 |
| 21136 | Bulk Product e6a6bd79 | Electronics | $36.66 | 484 | ★ 1.7 | 8 | BULK-6e1406dc |
| 21137 | Bulk Product 52b602ce | Home & Garden | $709.51 | 58 | ★ 1.6 | 12 | BULK-6eb7e363 |
| 21138 | Bulk Product 74ac7887 | Books | $65.28 | 108 | ★ 1.7 | 54 | BULK-1a6e38c8 |
| 21139 | Bulk Product 0e741e88 | Sports & Outdoors | $936.36 | 17 | ★ 2.7 | 35 | BULK-de683f5c |
| 21140 | Bulk Product a27e2d67 | Electronics | $307.57 | 291 | ★ 0.8 | 17 | BULK-fd6ba1f6 |
| 21141 | Bulk Product 70e78101 | Home & Garden | $784.91 | 388 | ★ 3.2 | 89 | BULK-db3c2329 |
| 21142 | Bulk Product 7a3c8059 | Toys & Games | $375.34 | 419 | ★ 3.0 | 31 | BULK-c53d914d |
| 21143 | Bulk Product e3fba2a1 | Home & Garden | $620.08 | 185 | ★ 1.5 | 73 | BULK-befddbc2 |
| 21144 | Bulk Product a7fed5b0 | Home & Garden | $344.64 | 336 | ★ 2.0 | 2 | BULK-6ad9abbf |
| 21145 | Bulk Product 05efaa81 | Sports & Outdoors | $609.20 | 1 | ★ 3.6 | 8 | BULK-fdf365a8 |
| 21146 | Bulk Product 0211a18f | Home & Garden | $720.35 | 486 | ★ 0.6 | 78 | BULK-d125f5b0 |
| 21147 | Bulk Product 527aeae9 | Toys & Games | $588.63 | 492 | ★ 0.9 | 39 | BULK-965b5ce5 |
| 21148 | Bulk Product f649a2c9 | Books | $776.76 | 440 | ★ 2.7 | 23 | BULK-e786f94c |
| 21149 | Bulk Product f40de9e0 | Toys & Games | $917.34 | 183 | ★ 4.4 | 99 | BULK-1f98c72a |
| 21150 | Bulk Product 6520bbcf | Books | $708.82 | 484 | ★ 3.1 | 77 | BULK-25dc6097 |
| 21151 | Bulk Product eea95258 | Sports & Outdoors | $301.00 | 141 | ★ 1.3 | 13 | BULK-74e6f160 |
| 21152 | Bulk Product 408a57e0 | Sports & Outdoors | $608.34 | 331 | ★ 2.9 | 41 | BULK-f27991c0 |
| 21153 | Bulk Product c2374298 | Clothing | $524.76 | 120 | ★ 2.6 | 17 | BULK-fb2e1d32 |
| 21154 | Bulk Product 703777a8 | Books | $938.35 | 162 | ★ 4.8 | 41 | BULK-271e3f45 |
| 21155 | Bulk Product ee57a63b | Sports & Outdoors | $798.09 | 47 | ★ 4.6 | 27 | BULK-9e7f58aa |
| 21156 | Bulk Product d1cd15fa | Electronics | $869.48 | 123 | ★ 3.6 | 34 | BULK-22479043 |
| 21157 | Bulk Product 83fc02a3 | Home & Garden | $831.85 | 399 | ★ 2.8 | 60 | BULK-871b8f9e |
| 21158 | Bulk Product 52c32165 | Sports & Outdoors | $350.62 | 135 | ★ 0.8 | 9 | BULK-13ea4c47 |
| 21159 | Bulk Product 319d968f | Clothing | $94.73 | 100 | ★ 3.0 | 27 | BULK-f3b777cd |
// 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
};
}