Skip to main content Link Menu Expand (external link) Document Search Copy Copied


The OrderBy feature defined in the Specification behaves the same as OrderBy in Linq, and it accepts Expression<Func<TSource, TKey>> expression as a parameter. The same is true for the related features OrderByDescending, ThenBy, and ThenByDescending described below.

OrderBy, as one might expect, is used to order the results of a query based on a key, defined by the lambda expression passed into OrderBy.

For example:

Query.OrderBy(x => x.Name);

On the other hand, in order to order the results in the opposite order, one could instead use OrderByDescending, which works in the same manner as OrderBy:

Query.OrderByDescending(x => x.Name);

Finally, ThenBy and ThenByDescending are also supported in the Specification and can be used to further refine the order of the results:

Query.OrderByDescending(x => x.Name)
     .ThenByDescending(x => x.Id)
     .ThenBy(x => x.DateCreated);