Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 11860 | Bulk Product b5ce5693 | Home & Garden | $133.42 | 133 | ★ 1.0 | 49 | BULK-bb375199 |
| 11861 | Bulk Product 9960c450 | Home & Garden | $258.21 | 369 | ★ 2.5 | 3 | BULK-9922b8dc |
| 11862 | Bulk Product 07952fa3 | Toys & Games | $211.02 | 186 | ★ 0.4 | 7 | BULK-173c8c11 |
| 11863 | Bulk Product e75328f7 | Home & Garden | $827.60 | 139 | ★ 2.0 | 11 | BULK-6d20737a |
| 11864 | Bulk Product 8cced505 | Electronics | $151.20 | 498 | ★ 3.3 | 44 | BULK-550031d1 |
| 11865 | Bulk Product 5a257602 | Toys & Games | $591.11 | 314 | ★ 3.0 | 48 | BULK-5fea7c3d |
| 11866 | Bulk Product 77dc8aaa | Clothing | $213.67 | 54 | ★ 4.7 | 7 | BULK-4633eb26 |
| 11867 | Bulk Product 70d3bf67 | Books | $357.91 | 215 | ★ 3.9 | 86 | BULK-f40f2e75 |
| 11868 | Bulk Product c01c2a6e | Books | $557.61 | 171 | ★ 3.3 | 60 | BULK-40f5e7ab |
| 11869 | Bulk Product 70aa0f86 | Electronics | $130.77 | 403 | ★ 1.4 | 91 | BULK-73b2b507 |
| 11870 | Bulk Product 90811b59 | Toys & Games | $727.81 | 479 | ★ 4.3 | 81 | BULK-824c161b |
| 11871 | Bulk Product 314bfe3c | Electronics | $564.22 | 492 | ★ 4.9 | 69 | BULK-73d9d320 |
| 11872 | Bulk Product aa41ecde | Clothing | $588.81 | 94 | ★ 2.2 | 75 | BULK-6324b3d6 |
| 11873 | Bulk Product 562812c6 | Books | $109.80 | 483 | ★ 2.6 | 9 | BULK-af47a21f |
| 11874 | Bulk Product 865d672a | Toys & Games | $562.20 | 491 | ★ 2.7 | 23 | BULK-3b60a09a |
| 11875 | Bulk Product 247767a0 | Electronics | $296.10 | 326 | ★ 1.3 | 96 | BULK-16491be6 |
| 11876 | Bulk Product 418e8227 | Home & Garden | $894.42 | 425 | ★ 4.5 | 65 | BULK-8fab7be3 |
| 11877 | Bulk Product b7f428bd | Toys & Games | $917.30 | 427 | ★ 2.3 | 37 | BULK-64cdc486 |
| 11878 | Bulk Product 57b2de4b | Home & Garden | $991.06 | 289 | ★ 0.7 | 19 | BULK-16f13391 |
| 11879 | Bulk Product 79c1b6e1 | Clothing | $865.82 | 170 | ★ 3.8 | 3 | BULK-6131a2e7 |
| 11880 | Bulk Product 349c4f15 | Sports & Outdoors | $918.87 | 284 | ★ 4.7 | 17 | BULK-c7fe2819 |
| 11881 | Bulk Product 831482d7 | Books | $69.87 | 316 | ★ 3.9 | 84 | BULK-74c76cf3 |
| 11882 | Bulk Product 04f1442d | Sports & Outdoors | $918.19 | 58 | ★ 1.1 | 4 | BULK-36dc3c04 |
| 11883 | Bulk Product 279483f6 | Home & Garden | $780.27 | 433 | ★ 4.0 | 10 | BULK-db4041f3 |
| 11884 | Bulk Product eb31cc7b | Clothing | $901.69 | 261 | ★ 1.6 | 14 | BULK-174d4817 |
| 11885 | Bulk Product 3255ca83 | Electronics | $91.77 | 96 | ★ 3.9 | 47 | BULK-511f3a55 |
| 11886 | Bulk Product d1044c77 | Toys & Games | $306.79 | 245 | ★ 2.1 | 62 | BULK-5329bffd |
| 11887 | Bulk Product 3a8fe310 | Toys & Games | $11.14 | 68 | ★ 1.7 | 77 | BULK-5533dbcd |
| 11888 | Bulk Product 4712e02c | Sports & Outdoors | $718.09 | 41 | ★ 4.2 | 78 | BULK-6ad52ff7 |
| 11889 | Bulk Product b7704fbb | Electronics | $744.52 | 382 | ★ 4.5 | 53 | BULK-10c3c584 |
| 11890 | Bulk Product 37dd0be5 | Sports & Outdoors | $700.00 | 160 | ★ 1.3 | 2 | BULK-2d397463 |
| 11891 | Bulk Product a72a8098 | Home & Garden | $612.87 | 186 | ★ 0.8 | 35 | BULK-4c49c57f |
| 11892 | Bulk Product d83373c0 | Sports & Outdoors | $334.50 | 433 | ★ 1.2 | 32 | BULK-e1bc5715 |
| 11893 | Bulk Product 47728fba | Toys & Games | $385.74 | 214 | ★ 0.4 | 80 | BULK-228c1ef3 |
| 11894 | Bulk Product 0b3d0cd6 | Clothing | $127.15 | 348 | ★ 1.9 | 44 | BULK-6239e063 |
| 11895 | Bulk Product 1b36ddc8 | Sports & Outdoors | $123.67 | 423 | ★ 0.6 | 76 | BULK-047ae241 |
| 11896 | Bulk Product 7b19bf1f | Clothing | $873.68 | 129 | ★ 0.0 | 94 | BULK-4179704d |
| 11897 | Bulk Product 0ebac209 | Clothing | $509.12 | 433 | ★ 1.4 | 38 | BULK-858cca3d |
| 11898 | Bulk Product ee88e3ec | Books | $231.01 | 286 | ★ 0.7 | 14 | BULK-e7a786b9 |
| 11899 | Bulk Product 9c64a2fc | Home & Garden | $576.46 | 101 | ★ 4.1 | 31 | BULK-da9e92f5 |
| 11900 | Bulk Product 6315bbc9 | Books | $300.69 | 416 | ★ 3.1 | 93 | BULK-be0ab1c7 |
| 11901 | Bulk Product ba8b6510 | Toys & Games | $517.35 | 102 | ★ 1.2 | 41 | BULK-a28a76e7 |
| 11902 | Bulk Product 4238a002 | Sports & Outdoors | $231.94 | 321 | ★ 0.8 | 60 | BULK-0e3d5203 |
| 11903 | Bulk Product 7e639a02 | Home & Garden | $564.86 | 311 | ★ 3.6 | 11 | BULK-0d400cc3 |
| 11904 | Bulk Product 5b5d0036 | Electronics | $917.77 | 374 | ★ 0.5 | 58 | BULK-89358082 |
| 11905 | Bulk Product eaddfd05 | Books | $704.98 | 3 | ★ 4.9 | 14 | BULK-b8c48f62 |
| 11906 | Bulk Product 26e3d499 | Books | $605.64 | 303 | ★ 4.9 | 52 | BULK-38558919 |
| 11907 | Bulk Product 399f90f0 | Books | $540.02 | 245 | ★ 4.0 | 10 | BULK-7b365661 |
| 11908 | Bulk Product 24ac614d | Books | $282.57 | 4 | ★ 2.8 | 16 | BULK-f1f1248f |
| 11909 | Bulk Product cb02182b | Clothing | $710.60 | 148 | ★ 0.7 | 44 | BULK-f44f53da |
// 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
};
}