Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 5010 | Bulk Product f98c3e27 | Clothing | $161.78 | 339 | ★ 2.9 | 17 | BULK-c58e5f44 |
| 5011 | Bulk Product 89ebec4c | Toys & Games | $964.34 | 245 | ★ 2.5 | 37 | BULK-bb44277c |
| 5012 | Bulk Product 9753e3be | Books | $672.53 | 221 | ★ 2.7 | 4 | BULK-aca7b6b2 |
| 5013 | Bulk Product 4ea9e620 | Books | $734.15 | 150 | ★ 3.3 | 30 | BULK-c30540de |
| 5014 | Bulk Product a35990d0 | Books | $243.29 | 187 | ★ 3.3 | 87 | BULK-a9a8a1ba |
| 5015 | Bulk Product c096b777 | Clothing | $670.92 | 102 | ★ 0.4 | 67 | BULK-1d694d6c |
| 5016 | Bulk Product 594deefe | Books | $507.41 | 480 | ★ 4.1 | 47 | BULK-ee1bc3a8 |
| 5017 | Bulk Product 91cadee9 | Electronics | $607.25 | 395 | ★ 1.6 | 63 | BULK-c42bafa9 |
| 5018 | Bulk Product 287a2007 | Sports & Outdoors | $467.67 | 33 | ★ 4.4 | 2 | BULK-786c667f |
| 5019 | Bulk Product 76e229ba | Electronics | $387.20 | 274 | ★ 2.8 | 99 | BULK-a4e19a22 |
| 5020 | Bulk Product 2f6aea12 | Toys & Games | $776.37 | 0 | ★ 4.9 | 7 | BULK-642efb7f |
| 5021 | Bulk Product 0f0cb0d5 | Toys & Games | $240.36 | 16 | ★ 2.5 | 8 | BULK-3c42e4af |
| 5022 | Bulk Product 07511384 | Clothing | $127.25 | 126 | ★ 5.0 | 14 | BULK-7c393ab4 |
| 5023 | Bulk Product 94ea15e1 | Home & Garden | $366.24 | 32 | ★ 0.5 | 33 | BULK-8b321003 |
| 5024 | Bulk Product df630e59 | Books | $649.66 | 280 | ★ 3.3 | 53 | BULK-b5329708 |
| 5025 | Bulk Product 3198a817 | Home & Garden | $710.30 | 358 | ★ 2.0 | 3 | BULK-f4d7f10a |
| 5026 | Bulk Product fa17ac53 | Sports & Outdoors | $993.51 | 201 | ★ 2.4 | 31 | BULK-af4388b0 |
| 5027 | Bulk Product 9e018c01 | Toys & Games | $24.30 | 228 | ★ 1.9 | 44 | BULK-610f52a9 |
| 5028 | Bulk Product e73aa39e | Toys & Games | $530.87 | 429 | ★ 3.5 | 4 | BULK-8b1a23c2 |
| 5029 | Bulk Product 10c84a38 | Home & Garden | $817.77 | 47 | ★ 4.2 | 21 | BULK-ad4eba29 |
| 5030 | Bulk Product 8e880685 | Electronics | $627.06 | 423 | ★ 3.0 | 30 | BULK-6729084d |
| 5031 | Bulk Product 7f1beec9 | Home & Garden | $62.55 | 472 | ★ 4.5 | 54 | BULK-84a28e52 |
| 5032 | Bulk Product 53e50afa | Sports & Outdoors | $243.62 | 230 | ★ 4.9 | 62 | BULK-056a2656 |
| 5033 | Bulk Product 7ba1066f | Sports & Outdoors | $557.31 | 486 | ★ 1.3 | 23 | BULK-b92dfb82 |
| 5034 | Bulk Product ec899341 | Sports & Outdoors | $620.86 | 447 | ★ 2.3 | 40 | BULK-098fc90d |
| 5035 | Bulk Product 4c172f33 | Clothing | $341.61 | 404 | ★ 3.5 | 71 | BULK-9504979b |
| 5036 | Bulk Product daa91d0d | Sports & Outdoors | $798.24 | 99 | ★ 2.4 | 66 | BULK-92a934bc |
| 5037 | Bulk Product e66ac441 | Home & Garden | $812.07 | 428 | ★ 1.2 | 20 | BULK-99f48a09 |
| 5038 | Bulk Product e505190a | Sports & Outdoors | $268.60 | 210 | ★ 1.6 | 44 | BULK-28afb82f |
| 5039 | Bulk Product 5ba69550 | Toys & Games | $421.24 | 202 | ★ 4.3 | 10 | BULK-fca3f8dc |
| 5040 | Bulk Product fcbd5df7 | Sports & Outdoors | $152.60 | 378 | ★ 3.1 | 33 | BULK-3d71dd4a |
| 5041 | Bulk Product b5ecca18 | Books | $483.74 | 90 | ★ 4.8 | 51 | BULK-9750a48d |
| 5042 | Bulk Product 4cf57bd9 | Toys & Games | $858.27 | 337 | ★ 2.7 | 52 | BULK-b2947e2c |
| 5043 | Bulk Product 64045724 | Clothing | $675.86 | 338 | ★ 3.5 | 16 | BULK-b5a3bacd |
| 5044 | Bulk Product 5f39f5cf | Electronics | $138.90 | 431 | ★ 0.2 | 3 | BULK-165cc0a2 |
| 5045 | Bulk Product 41a2b9d8 | Toys & Games | $134.10 | 427 | ★ 3.0 | 95 | BULK-209106b4 |
| 5046 | Bulk Product bcddc950 | Books | $163.09 | 173 | ★ 4.8 | 5 | BULK-868c6fb8 |
| 5047 | Bulk Product 0fbffd00 | Toys & Games | $118.29 | 487 | ★ 2.8 | 40 | BULK-10159b56 |
| 5048 | Bulk Product f7429cdd | Home & Garden | $683.50 | 47 | ★ 2.3 | 55 | BULK-3603f305 |
| 5049 | Bulk Product 1819f4b6 | Electronics | $674.99 | 174 | ★ 1.6 | 75 | BULK-5840cc11 |
| 5050 | Bulk Product c083bd66 | Home & Garden | $58.07 | 206 | ★ 1.6 | 47 | BULK-31394bcf |
| 5051 | Bulk Product 8ccf0ef6 | Toys & Games | $202.23 | 193 | ★ 0.1 | 16 | BULK-b9ebd34b |
| 5052 | Bulk Product dcff48b1 | Home & Garden | $209.60 | 234 | ★ 4.4 | 72 | BULK-584af7ac |
| 5053 | Bulk Product 8cc32d6b | Sports & Outdoors | $670.03 | 360 | ★ 0.1 | 8 | BULK-150bdcb3 |
| 5054 | Bulk Product 8a36c0b3 | Clothing | $377.72 | 47 | ★ 3.8 | 1 | BULK-382d7369 |
| 5055 | Bulk Product cb970165 | Home & Garden | $969.06 | 141 | ★ 4.5 | 74 | BULK-10658a11 |
| 5056 | Bulk Product 917435c0 | Clothing | $227.25 | 359 | ★ 3.2 | 72 | BULK-5f2485d3 |
| 5057 | Bulk Product 9998653e | Clothing | $862.95 | 196 | ★ 4.0 | 84 | BULK-fce15b63 |
| 5058 | Bulk Product 4bda1644 | Home & Garden | $297.16 | 425 | ★ 1.2 | 40 | BULK-a440991e |
| 5059 | Bulk Product fc6ade30 | Electronics | $550.52 | 309 | ★ 2.3 | 43 | BULK-56d799c6 |
// 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
};
}