Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 6010 | Bulk Product 1d6ecec8 | Electronics | $460.33 | 283 | ★ 0.5 | 25 | BULK-e0e521e9 |
| 6011 | Bulk Product b6824bd9 | Toys & Games | $16.97 | 286 | ★ 2.6 | 36 | BULK-14f3c5ac |
| 6012 | Bulk Product 7db6c786 | Home & Garden | $386.49 | 300 | ★ 4.3 | 76 | BULK-87b03ffc |
| 6013 | Bulk Product 7897f54b | Toys & Games | $25.40 | 142 | ★ 3.1 | 80 | BULK-544512f8 |
| 6014 | Bulk Product ab0c29cd | Toys & Games | $441.07 | 234 | ★ 1.2 | 30 | BULK-1fea10e6 |
| 6015 | Bulk Product f054ce6a | Clothing | $630.13 | 422 | ★ 5.0 | 27 | BULK-030bd37d |
| 6016 | Bulk Product d3d45943 | Toys & Games | $208.70 | 74 | ★ 2.2 | 60 | BULK-52e2f0c1 |
| 6017 | Bulk Product 03f212ca | Clothing | $923.10 | 231 | ★ 4.2 | 95 | BULK-5443186d |
| 6018 | Bulk Product 78b7cc04 | Sports & Outdoors | $482.15 | 146 | ★ 3.7 | 91 | BULK-a0776085 |
| 6019 | Bulk Product b61c5389 | Toys & Games | $192.17 | 293 | ★ 1.9 | 78 | BULK-a51877c1 |
| 6020 | Bulk Product 6ccbb864 | Electronics | $861.57 | 44 | ★ 4.8 | 36 | BULK-84272007 |
| 6021 | Bulk Product f1e0a637 | Home & Garden | $158.94 | 283 | ★ 2.4 | 74 | BULK-fec7ac3e |
| 6022 | Bulk Product 9e083632 | Home & Garden | $942.74 | 286 | ★ 4.8 | 82 | BULK-a7ae2ef1 |
| 6023 | Bulk Product 9063fa6c | Sports & Outdoors | $821.70 | 448 | ★ 0.9 | 19 | BULK-a01c1dca |
| 6024 | Bulk Product 15407627 | Electronics | $688.10 | 138 | ★ 3.9 | 24 | BULK-7465f31e |
| 6025 | Bulk Product 2807ba3e | Toys & Games | $779.85 | 35 | ★ 1.9 | 11 | BULK-b3c55802 |
| 6026 | Bulk Product 2f7cfb2e | Sports & Outdoors | $1,006.31 | 410 | ★ 4.5 | 32 | BULK-b8653906 |
| 6027 | Bulk Product e272bbaa | Sports & Outdoors | $693.25 | 157 | ★ 2.4 | 81 | BULK-15c1bfd1 |
| 6028 | Bulk Product 276f1c87 | Books | $823.06 | 324 | ★ 3.6 | 36 | BULK-10ca75a1 |
| 6029 | Bulk Product 95b90677 | Home & Garden | $14.10 | 13 | ★ 4.7 | 87 | BULK-81cbfba7 |
| 6030 | Bulk Product e40e4eea | Books | $541.33 | 366 | ★ 4.1 | 81 | BULK-d2d1ac23 |
| 6031 | Bulk Product e0eeea34 | Electronics | $50.44 | 174 | ★ 3.3 | 98 | BULK-7d7b80f6 |
| 6032 | Bulk Product 33e171ef | Electronics | $538.05 | 231 | ★ 1.7 | 16 | BULK-4ca69615 |
| 6033 | Bulk Product 36a242e1 | Clothing | $713.68 | 212 | ★ 0.5 | 50 | BULK-17b0bf1d |
| 6034 | Bulk Product 9aef5e42 | Books | $925.98 | 229 | ★ 2.2 | 94 | BULK-7673f844 |
| 6035 | Bulk Product 87df2053 | Electronics | $895.01 | 4 | ★ 1.3 | 67 | BULK-5ffd10fb |
| 6036 | Bulk Product 854e3140 | Home & Garden | $264.60 | 72 | ★ 0.3 | 25 | BULK-80a2dfb2 |
| 6037 | Bulk Product 846beb03 | Sports & Outdoors | $441.99 | 73 | ★ 0.8 | 81 | BULK-4c751067 |
| 6038 | Bulk Product 6c5f8e8a | Books | $662.24 | 227 | ★ 4.7 | 63 | BULK-e3b7f808 |
| 6039 | Bulk Product 39b9f543 | Sports & Outdoors | $295.42 | 330 | ★ 1.3 | 93 | BULK-f8ffbf38 |
| 6040 | Bulk Product 8094ee94 | Home & Garden | $707.57 | 228 | ★ 0.7 | 68 | BULK-39555171 |
| 6041 | Bulk Product 376cff58 | Books | $727.20 | 327 | ★ 0.3 | 48 | BULK-1be7c1f3 |
| 6042 | Bulk Product 9e068d5f | Sports & Outdoors | $280.89 | 216 | ★ 2.1 | 87 | BULK-46ac4709 |
| 6043 | Bulk Product d88c1ff5 | Clothing | $276.69 | 458 | ★ 0.8 | 90 | BULK-5e5865ef |
| 6044 | Bulk Product 13a58084 | Toys & Games | $628.63 | 207 | ★ 1.6 | 50 | BULK-d4825b67 |
| 6045 | Bulk Product a3f9422e | Electronics | $299.39 | 38 | ★ 2.1 | 38 | BULK-a57b5864 |
| 6046 | Bulk Product 25483cad | Sports & Outdoors | $927.38 | 452 | ★ 1.7 | 6 | BULK-fe7cf7b8 |
| 6047 | Bulk Product ed7f9324 | Books | $611.68 | 110 | ★ 2.9 | 92 | BULK-7f5c43e4 |
| 6048 | Bulk Product e1767f43 | Home & Garden | $163.14 | 448 | ★ 3.2 | 37 | BULK-8e3d71af |
| 6049 | Bulk Product 4c0f5673 | Home & Garden | $212.05 | 498 | ★ 3.2 | 15 | BULK-f995d497 |
| 6050 | Bulk Product 52646eb7 | Books | $206.65 | 97 | ★ 2.3 | 27 | BULK-37087624 |
| 6051 | Bulk Product bf6f71e4 | Home & Garden | $499.88 | 66 | ★ 0.7 | 13 | BULK-1396345a |
| 6052 | Bulk Product f6a2ea44 | Home & Garden | $215.43 | 140 | ★ 0.3 | 15 | BULK-eac888b8 |
| 6053 | Bulk Product 05b7af85 | Clothing | $205.38 | 187 | ★ 0.9 | 45 | BULK-b74889c2 |
| 6054 | Bulk Product 8f76b0f9 | Toys & Games | $400.37 | 200 | ★ 1.6 | 65 | BULK-67bb3d0f |
| 6055 | Bulk Product 7fc7aed1 | Sports & Outdoors | $624.38 | 365 | ★ 3.3 | 93 | BULK-95132120 |
| 6056 | Bulk Product f302ebe1 | Electronics | $549.12 | 95 | ★ 4.4 | 94 | BULK-25309de4 |
| 6057 | Bulk Product 8fefeb6c | Home & Garden | $816.29 | 472 | ★ 1.2 | 87 | BULK-35e6dab0 |
| 6058 | Bulk Product 1189f512 | Sports & Outdoors | $393.61 | 12 | ★ 2.6 | 94 | BULK-6a6ae5cf |
| 6059 | Bulk Product 94eba17e | Clothing | $646.21 | 50 | ★ 2.4 | 26 | BULK-a27f1d37 |
// 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
};
}