Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 23060 | Bulk Product 2a12ec37 | Clothing | $1,002.57 | 380 | ★ 1.2 | 48 | BULK-696f1e7d |
| 23061 | Bulk Product 628629b2 | Electronics | $988.31 | 64 | ★ 2.9 | 28 | BULK-d39e8694 |
| 23062 | Bulk Product 7961bd89 | Electronics | $901.69 | 235 | ★ 1.7 | 68 | BULK-675105e0 |
| 23063 | Bulk Product c9cf21ba | Electronics | $320.11 | 213 | ★ 1.1 | 14 | BULK-25bc65cc |
| 23064 | Bulk Product abc4bd62 | Sports & Outdoors | $465.23 | 259 | ★ 3.9 | 38 | BULK-95107bb6 |
| 23065 | Bulk Product 3087681e | Clothing | $890.31 | 256 | ★ 2.1 | 71 | BULK-37cc968b |
| 23066 | Bulk Product 2acc2468 | Books | $529.80 | 53 | ★ 0.5 | 67 | BULK-1e1aef15 |
| 23067 | Bulk Product c9da8658 | Books | $358.56 | 395 | ★ 0.7 | 4 | BULK-94981845 |
| 23068 | Bulk Product d57e529f | Electronics | $666.36 | 463 | ★ 0.8 | 84 | BULK-873139a7 |
| 23069 | Bulk Product a0dc781f | Books | $496.77 | 122 | ★ 4.7 | 48 | BULK-1b70a997 |
| 23070 | Bulk Product 99f3312e | Toys & Games | $291.64 | 282 | ★ 3.4 | 50 | BULK-bc68c363 |
| 23071 | Bulk Product 4fe23423 | Toys & Games | $808.90 | 35 | ★ 4.4 | 18 | BULK-8d5d7aee |
| 23072 | Bulk Product c04e3814 | Electronics | $793.63 | 387 | ★ 2.6 | 43 | BULK-d48964d2 |
| 23073 | Bulk Product c07b168a | Books | $434.72 | 380 | ★ 4.6 | 47 | BULK-7f52ee3e |
| 23074 | Bulk Product 6cc10db8 | Home & Garden | $75.96 | 494 | ★ 1.7 | 8 | BULK-e7010c0e |
| 23075 | Bulk Product 467a8019 | Clothing | $974.24 | 48 | ★ 1.0 | 26 | BULK-c6721427 |
| 23076 | Bulk Product c95c50e2 | Electronics | $65.32 | 401 | ★ 1.1 | 53 | BULK-0ed9249a |
| 23077 | Bulk Product 9cfca50d | Electronics | $592.11 | 422 | ★ 1.8 | 19 | BULK-34a9f61f |
| 23078 | Bulk Product cdcc4dd3 | Books | $183.81 | 172 | ★ 2.1 | 38 | BULK-9bb42de8 |
| 23079 | Bulk Product 2068534e | Sports & Outdoors | $976.85 | 436 | ★ 3.6 | 67 | BULK-891e897f |
| 23080 | Bulk Product 64aa84f7 | Home & Garden | $181.72 | 162 | ★ 1.7 | 88 | BULK-830b5a76 |
| 23081 | Bulk Product cfffcb54 | Electronics | $20.82 | 124 | ★ 0.0 | 46 | BULK-8a9fad57 |
| 23082 | Bulk Product cc2d542f | Electronics | $173.96 | 231 | ★ 0.3 | 47 | BULK-e727cda1 |
| 23083 | Bulk Product 4c2708ae | Toys & Games | $640.17 | 349 | ★ 3.3 | 75 | BULK-0bf07300 |
| 23084 | Bulk Product 5753c805 | Books | $432.43 | 408 | ★ 5.0 | 1 | BULK-2bea90ef |
| 23085 | Bulk Product 565e70ab | Electronics | $210.42 | 138 | ★ 2.6 | 52 | BULK-d18726b3 |
| 23086 | Bulk Product fef428dc | Home & Garden | $819.83 | 401 | ★ 3.8 | 82 | BULK-a83c56f9 |
| 23087 | Bulk Product 88819e56 | Home & Garden | $800.46 | 454 | ★ 3.2 | 23 | BULK-ee8ce416 |
| 23088 | Bulk Product f798292e | Clothing | $688.64 | 106 | ★ 2.0 | 17 | BULK-3d50339e |
| 23089 | Bulk Product 6a8efc92 | Clothing | $661.50 | 340 | ★ 2.4 | 33 | BULK-8304542a |
| 23090 | Bulk Product b149c84b | Electronics | $648.36 | 223 | ★ 4.9 | 38 | BULK-ecfe6ccb |
| 23091 | Bulk Product 91e187ce | Sports & Outdoors | $597.91 | 107 | ★ 4.1 | 56 | BULK-f12e0a3c |
| 23092 | Bulk Product a9f3162c | Home & Garden | $628.71 | 107 | ★ 2.1 | 47 | BULK-e723f96e |
| 23093 | Bulk Product 1f75a48b | Books | $323.23 | 144 | ★ 2.7 | 56 | BULK-ce48460d |
| 23094 | Bulk Product 31949c2c | Electronics | $280.91 | 192 | ★ 4.5 | 38 | BULK-380cd1ce |
| 23095 | Bulk Product dd46ccdf | Books | $664.29 | 449 | ★ 4.1 | 47 | BULK-988c7ffa |
| 23096 | Bulk Product bac21670 | Sports & Outdoors | $294.21 | 458 | ★ 5.0 | 47 | BULK-481f4780 |
| 23097 | Bulk Product eac69f17 | Home & Garden | $934.99 | 382 | ★ 4.4 | 69 | BULK-6833880b |
| 23098 | Bulk Product 8be9daf8 | Electronics | $1,004.00 | 218 | ★ 4.2 | 4 | BULK-4adc8906 |
| 23099 | Bulk Product 0a24b0b7 | Books | $858.97 | 23 | ★ 1.1 | 91 | BULK-f476cfaa |
| 23100 | Bulk Product 1d8994de | Clothing | $528.77 | 127 | ★ 3.6 | 33 | BULK-5230dc60 |
| 23101 | Bulk Product 740273b8 | Electronics | $983.94 | 299 | ★ 2.6 | 30 | BULK-54dcd94e |
| 23102 | Bulk Product 423989ec | Toys & Games | $76.97 | 433 | ★ 2.1 | 23 | BULK-61b3ba47 |
| 23103 | Bulk Product a974492c | Toys & Games | $289.22 | 196 | ★ 0.2 | 83 | BULK-c3d7220a |
| 23104 | Bulk Product e6086220 | Home & Garden | $636.40 | 384 | ★ 2.6 | 86 | BULK-4e3f079b |
| 23105 | Bulk Product 41d772e3 | Electronics | $373.48 | 41 | ★ 0.6 | 50 | BULK-1c9b6fff |
| 23106 | Bulk Product 8d994118 | Toys & Games | $752.62 | 1 | ★ 0.5 | 52 | BULK-c1050176 |
| 23107 | Bulk Product f394a27b | Sports & Outdoors | $235.28 | 290 | ★ 2.6 | 42 | BULK-8775f296 |
| 23108 | Bulk Product 4e740e48 | Books | $248.62 | 306 | ★ 1.9 | 48 | BULK-627d9475 |
| 23109 | Bulk Product f34a7c01 | Clothing | $963.10 | 166 | ★ 3.6 | 84 | BULK-0f13fa4a |
// 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
};
}