Order Optimizely Graph results
Learn how to order results in the C# SDK using C# SDK
Early access previewThis content is an early access preview and may change before general availability. Use the thumbs up or down at the end of this article to share feedback and help shape the final release.
Use .OrderBy() to sort results by any indexed field. Chain .ThenBy() for secondary sorts.
The OrderDirection Enum lives in the Optimizely.Graph.Cms.Query.Implementation namespace.
Sort ascending
Sort results in ascending order:
await client
.QueryContent<BlogPostPage>()
.OrderBy(x => x.StartPublish, OrderDirection.Ascending)
.GetAsContentAsync();Sort descending
Sort results in descending order:
await client
.QueryContent<BlogPostPage>()
.OrderBy(x => x.StartPublish, OrderDirection.Descending)
.GetAsContentAsync();Multiple sort fields
Use .ThenBy() to apply secondary sorting when primary values are equal:
await client
.QueryContent<BlogPostPage>()
.OrderBy(x => x.BlogCategory, OrderDirection.Ascending)
.ThenBy(x => x.StartPublish, OrderDirection.Descending)
.GetAsContentAsync();This sorts alphabetically by category first, then by newest-first within each category.
Sorting by numeric fields
await client
.QueryContent<BlogPostPage>()
.OrderBy(x => x.Rating, OrderDirection.Descending)
.GetAsContentAsync();Combining with filters and pagination
.OrderBy() composes freely with .Where(), .Skip(), .Limit(), and other query methods:
await client
.QueryContent<BlogPostPage>()
.Where(x => x.BlogCategory == "Tutorials")
.OrderBy(x => x.StartPublish, OrderDirection.Descending)
.Limit(10)
.GetAsContentAsync();Updated 13 days ago
