Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 15110 | Bulk Product f0f6e80f | Clothing | $70.23 | 234 | ★ 2.4 | 95 | BULK-ea202861 |
| 15111 | Bulk Product c764db4a | Home & Garden | $11.05 | 345 | ★ 1.4 | 8 | BULK-2acefeeb |
| 15112 | Bulk Product b1385555 | Home & Garden | $661.72 | 214 | ★ 1.1 | 55 | BULK-322963a8 |
| 15113 | Bulk Product 927af288 | Electronics | $649.44 | 11 | ★ 3.7 | 58 | BULK-4dec50ba |
| 15114 | Bulk Product cff88055 | Clothing | $28.95 | 400 | ★ 1.3 | 0 | BULK-7b8f5848 |
| 15115 | Bulk Product c8cd97b7 | Toys & Games | $343.47 | 325 | ★ 3.0 | 28 | BULK-aa223a94 |
| 15116 | Bulk Product 14851b51 | Sports & Outdoors | $703.58 | 378 | ★ 3.8 | 83 | BULK-bfeb6884 |
| 15117 | Bulk Product 36d2548d | Home & Garden | $173.81 | 50 | ★ 2.4 | 18 | BULK-bb605b33 |
| 15118 | Bulk Product e83f1b48 | Books | $613.03 | 66 | ★ 1.0 | 80 | BULK-c5b6e054 |
| 15119 | Bulk Product 5b5c6dcb | Electronics | $220.81 | 43 | ★ 2.4 | 65 | BULK-c648d414 |
| 15120 | Bulk Product b2a6cabb | Toys & Games | $121.93 | 202 | ★ 2.8 | 15 | BULK-df4f2594 |
| 15121 | Bulk Product 54577a75 | Toys & Games | $855.51 | 383 | ★ 0.3 | 12 | BULK-58c182dc |
| 15122 | Bulk Product 7144f961 | Books | $703.18 | 174 | ★ 4.4 | 51 | BULK-560fa3ac |
| 15123 | Bulk Product 2e740f5f | Home & Garden | $850.63 | 121 | ★ 1.0 | 53 | BULK-b587d9eb |
| 15124 | Bulk Product fa51f3d0 | Home & Garden | $554.00 | 384 | ★ 4.9 | 2 | BULK-c4fbcec8 |
| 15125 | Bulk Product 4f019c93 | Toys & Games | $118.91 | 41 | ★ 1.9 | 98 | BULK-16f82c58 |
| 15126 | Bulk Product fd2c0f96 | Clothing | $737.30 | 199 | ★ 3.3 | 85 | BULK-95d57c57 |
| 15127 | Bulk Product ed92a138 | Electronics | $985.79 | 94 | ★ 2.7 | 44 | BULK-38e27fa0 |
| 15128 | Bulk Product 00518a7a | Electronics | $669.44 | 58 | ★ 0.8 | 11 | BULK-dca9c6f1 |
| 15129 | Bulk Product ad915e65 | Sports & Outdoors | $698.98 | 255 | ★ 3.4 | 88 | BULK-4f2bde0f |
| 15130 | Bulk Product e89e54cc | Sports & Outdoors | $410.90 | 340 | ★ 0.2 | 57 | BULK-1390b9a2 |
| 15131 | Bulk Product f90eeed1 | Electronics | $962.86 | 91 | ★ 0.9 | 57 | BULK-2f850664 |
| 15132 | Bulk Product 8df7a216 | Home & Garden | $454.44 | 120 | ★ 0.8 | 35 | BULK-7eadee40 |
| 15133 | Bulk Product ee185df8 | Sports & Outdoors | $648.72 | 141 | ★ 0.7 | 18 | BULK-5e1e9f16 |
| 15134 | Bulk Product 71b40862 | Books | $956.18 | 205 | ★ 0.0 | 33 | BULK-04d428ea |
| 15135 | Bulk Product 874dd9e7 | Toys & Games | $83.90 | 62 | ★ 1.7 | 24 | BULK-be9464bd |
| 15136 | Bulk Product f29add0c | Clothing | $954.54 | 334 | ★ 4.9 | 48 | BULK-53da098c |
| 15137 | Bulk Product 33fad57b | Clothing | $818.55 | 289 | ★ 2.4 | 26 | BULK-579399f0 |
| 15138 | Bulk Product 1a6c223e | Clothing | $316.31 | 458 | ★ 3.7 | 62 | BULK-88349faf |
| 15139 | Bulk Product 88f132da | Books | $736.88 | 137 | ★ 2.9 | 69 | BULK-128b3cee |
| 15140 | Bulk Product ee7f27b1 | Toys & Games | $171.19 | 491 | ★ 4.7 | 80 | BULK-a8aa7ebd |
| 15141 | Bulk Product af5a28f9 | Books | $131.04 | 468 | ★ 0.3 | 36 | BULK-3c14913d |
| 15142 | Bulk Product c13e95da | Sports & Outdoors | $750.30 | 77 | ★ 0.2 | 4 | BULK-8643706c |
| 15143 | Bulk Product dd927be7 | Electronics | $474.74 | 210 | ★ 1.7 | 55 | BULK-2a405c42 |
| 15144 | Bulk Product 0de849c6 | Books | $377.56 | 44 | ★ 0.7 | 47 | BULK-b17acc65 |
| 15145 | Bulk Product 5794800d | Toys & Games | $337.10 | 155 | ★ 1.0 | 16 | BULK-bd2bf274 |
| 15146 | Bulk Product c8c96b54 | Electronics | $348.86 | 234 | ★ 2.5 | 16 | BULK-6277a37a |
| 15147 | Bulk Product 3f6dfd47 | Sports & Outdoors | $193.54 | 469 | ★ 4.6 | 12 | BULK-85123bcc |
| 15148 | Bulk Product 08a0d8cd | Books | $10.70 | 98 | ★ 4.9 | 65 | BULK-db89f32d |
| 15149 | Bulk Product ceb2aaf1 | Home & Garden | $771.61 | 12 | ★ 2.3 | 51 | BULK-b1512d93 |
| 15150 | Bulk Product 93f496ea | Electronics | $558.71 | 67 | ★ 0.4 | 53 | BULK-c4253144 |
| 15151 | Bulk Product b5966fb2 | Books | $808.69 | 136 | ★ 2.3 | 85 | BULK-c1397648 |
| 15152 | Bulk Product 9f3b752a | Sports & Outdoors | $347.78 | 114 | ★ 0.7 | 4 | BULK-ef867c55 |
| 15153 | Bulk Product fb7a282e | Toys & Games | $627.30 | 427 | ★ 4.8 | 88 | BULK-299ef746 |
| 15154 | Bulk Product 5338a822 | Toys & Games | $28.05 | 77 | ★ 3.4 | 99 | BULK-e1c274dc |
| 15155 | Bulk Product 80e15587 | Books | $499.89 | 405 | ★ 4.8 | 72 | BULK-4a9bbd96 |
| 15156 | Bulk Product 9c5ce28a | Electronics | $697.10 | 390 | ★ 3.5 | 73 | BULK-da450206 |
| 15157 | Bulk Product 1fdfec72 | Books | $594.27 | 107 | ★ 2.0 | 15 | BULK-43c0edaa |
| 15158 | Bulk Product 0103fa59 | Clothing | $196.79 | 444 | ★ 0.3 | 8 | BULK-8c90ef24 |
| 15159 | Bulk Product d0c1bbe3 | Clothing | $716.05 | 303 | ★ 0.6 | 13 | BULK-00ee278a |
// 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
};
}