Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 12860 | Bulk Product 0e772e4f | Electronics | $409.17 | 412 | ★ 0.2 | 15 | BULK-5a312b64 |
| 12861 | Bulk Product 03010b38 | Clothing | $796.78 | 194 | ★ 3.2 | 62 | BULK-87b3a701 |
| 12862 | Bulk Product 03d12a55 | Books | $727.76 | 199 | ★ 2.5 | 40 | BULK-32a4e1dc |
| 12863 | Bulk Product 6c87fae2 | Toys & Games | $267.08 | 465 | ★ 2.3 | 40 | BULK-398a38b1 |
| 12864 | Bulk Product 24c5eb42 | Sports & Outdoors | $301.87 | 398 | ★ 1.8 | 61 | BULK-7775074c |
| 12865 | Bulk Product eaeffaa2 | Home & Garden | $195.81 | 191 | ★ 3.9 | 39 | BULK-11895255 |
| 12866 | Bulk Product 44d213b6 | Clothing | $468.75 | 136 | ★ 1.5 | 36 | BULK-20c20f24 |
| 12867 | Bulk Product 6f489fbe | Home & Garden | $646.63 | 127 | ★ 3.8 | 54 | BULK-02f4435f |
| 12868 | Bulk Product c79538eb | Toys & Games | $992.58 | 245 | ★ 0.9 | 50 | BULK-8989b4b9 |
| 12869 | Bulk Product 5547a101 | Home & Garden | $734.36 | 99 | ★ 4.3 | 7 | BULK-734ab1ed |
| 12870 | Bulk Product a8165bb1 | Toys & Games | $935.16 | 184 | ★ 2.6 | 44 | BULK-8cc24fd9 |
| 12871 | Bulk Product 0f33f56e | Sports & Outdoors | $46.13 | 150 | ★ 2.7 | 16 | BULK-29474dd0 |
| 12872 | Bulk Product defb407d | Clothing | $272.92 | 291 | ★ 0.5 | 12 | BULK-93408fb1 |
| 12873 | Bulk Product f913fecd | Home & Garden | $523.13 | 338 | ★ 2.5 | 6 | BULK-75c8f99c |
| 12874 | Bulk Product 4ae38fd2 | Toys & Games | $988.20 | 221 | ★ 4.9 | 54 | BULK-b9776f20 |
| 12875 | Bulk Product 9f363c9a | Sports & Outdoors | $17.27 | 348 | ★ 4.6 | 54 | BULK-756b1dd8 |
| 12876 | Bulk Product dd5ccbb2 | Books | $36.45 | 8 | ★ 2.9 | 22 | BULK-37bb006d |
| 12877 | Bulk Product 90c56645 | Books | $374.70 | 306 | ★ 1.9 | 3 | BULK-c9e648e6 |
| 12878 | Bulk Product 31607b63 | Books | $114.20 | 344 | ★ 1.7 | 85 | BULK-559abded |
| 12879 | Bulk Product d64867f2 | Books | $193.16 | 391 | ★ 0.3 | 26 | BULK-f114017b |
| 12880 | Bulk Product e259c15a | Sports & Outdoors | $528.44 | 27 | ★ 3.5 | 78 | BULK-afbdbe80 |
| 12881 | Bulk Product f75359fb | Electronics | $683.94 | 261 | ★ 4.7 | 11 | BULK-8133b0ad |
| 12882 | Bulk Product 2c7b4ed4 | Electronics | $859.73 | 414 | ★ 3.1 | 81 | BULK-edefa231 |
| 12883 | Bulk Product cdd3100e | Sports & Outdoors | $541.32 | 111 | ★ 4.4 | 58 | BULK-8ec83988 |
| 12884 | Bulk Product a56c5814 | Electronics | $661.19 | 197 | ★ 4.2 | 69 | BULK-e21f15de |
| 12885 | Bulk Product efb9b788 | Books | $280.58 | 75 | ★ 0.1 | 19 | BULK-62b5a36a |
| 12886 | Bulk Product a22f3fe2 | Books | $191.71 | 358 | ★ 5.0 | 41 | BULK-c79f5e3a |
| 12887 | Bulk Product 62beaeab | Sports & Outdoors | $977.50 | 51 | ★ 2.1 | 89 | BULK-86947856 |
| 12888 | Bulk Product 403d1a0d | Home & Garden | $775.02 | 216 | ★ 3.0 | 5 | BULK-83efa49c |
| 12889 | Bulk Product 3ef3fe34 | Toys & Games | $868.76 | 475 | ★ 3.7 | 32 | BULK-5042bc06 |
| 12890 | Bulk Product b4b1f94b | Books | $565.25 | 128 | ★ 2.8 | 87 | BULK-d2bdef5e |
| 12891 | Bulk Product 9743ce47 | Sports & Outdoors | $644.98 | 178 | ★ 1.8 | 4 | BULK-3a12a913 |
| 12892 | Bulk Product 4a2df4fc | Electronics | $778.33 | 130 | ★ 2.7 | 33 | BULK-ae4ab1a7 |
| 12893 | Bulk Product 8adda6f9 | Books | $991.65 | 151 | ★ 2.3 | 35 | BULK-203a2a10 |
| 12894 | Bulk Product 7ab4fb81 | Toys & Games | $952.59 | 272 | ★ 0.2 | 20 | BULK-774da4b0 |
| 12895 | Bulk Product 35d21ba1 | Home & Garden | $740.83 | 272 | ★ 0.6 | 90 | BULK-1901aba5 |
| 12896 | Bulk Product 7de1d845 | Toys & Games | $617.03 | 132 | ★ 1.3 | 1 | BULK-fd117b51 |
| 12897 | Bulk Product 577b3c56 | Electronics | $289.70 | 355 | ★ 0.4 | 7 | BULK-157543c7 |
| 12898 | Bulk Product 16b30cc8 | Books | $988.68 | 335 | ★ 2.5 | 21 | BULK-2875b9e8 |
| 12899 | Bulk Product 2d30a116 | Books | $640.77 | 493 | ★ 1.6 | 62 | BULK-86c3a09a |
| 12900 | Bulk Product b539aad3 | Home & Garden | $908.95 | 87 | ★ 1.7 | 55 | BULK-58a1b398 |
| 12901 | Bulk Product b10aa2d5 | Sports & Outdoors | $639.34 | 379 | ★ 0.7 | 72 | BULK-0a27b31d |
| 12902 | Bulk Product 6a13b195 | Books | $54.27 | 482 | ★ 0.6 | 26 | BULK-71928477 |
| 12903 | Bulk Product 1c49ff1d | Home & Garden | $269.99 | 247 | ★ 1.3 | 56 | BULK-d3b8e6b6 |
| 12904 | Bulk Product 0e42de8e | Electronics | $792.40 | 228 | ★ 2.5 | 93 | BULK-8c35227f |
| 12905 | Bulk Product 9703faf3 | Sports & Outdoors | $276.20 | 139 | ★ 2.5 | 20 | BULK-c6b3b691 |
| 12906 | Bulk Product 63666b3a | Sports & Outdoors | $811.12 | 230 | ★ 0.6 | 89 | BULK-652eb0ee |
| 12907 | Bulk Product 58f88bcc | Electronics | $402.12 | 104 | ★ 1.2 | 34 | BULK-a37bf7c9 |
| 12908 | Bulk Product ba18c570 | Electronics | $919.32 | 494 | ★ 2.5 | 44 | BULK-289b3a98 |
| 12909 | Bulk Product 9f0e7ca3 | Electronics | $796.79 | 48 | ★ 1.2 | 48 | BULK-f04b96f9 |
// 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
};
}