Ordering
The ordering query expression can be built with a comma-delimited ordered list of field/property names followed by asc or desc keywords.
By default, if you don't add these keywords, Gridify assumes you need Ascending ordering.
csharp
// asc - desc
var x = personsRepo.ApplyOrdering("Id"); // default ascending its equal to "Id asc"
var x = personsRepo.ApplyOrdering("Id desc"); // use descending ordering
// multiple orderings example
var x = personsRepo.ApplyOrdering("Id desc, FirstName asc, LastName");csharp
// asc - desc
var gq = new GridifyQuery() { OrderBy = "Id" }; // default ascending its equal to "Id asc"
var gq = new GridifyQuery() { OrderBy = "Id desc" }; // use descending ordering
// multiple orderings example
var gq = new GridifyQuery() { OrderBy = "Id desc, FirstName asc, LastName" };csharp
var builder = new QueryBuilder<Person>();
// asc - desc
builder.AddOrderBy("Id"); // default ascending its equal to "Id asc"
builder.AddOrderBy("Id desc"); // use descending ordering
// multiple orderings example
builder.AddOrderBy("Id desc, FirstName asc, LastName");Order By Nullable types
Sometimes we need to order by nullable types, for example:
csharp
personsRepo.OrderBy(p => p.BirthDate.HasValue)to support this behavior, you can use Gridify special characters (? or !) after the property name.
e.g:
To achieve the personsRepo.OrderBy(p => p.BirthDate.HasValue) query, you can use ?:
csharp
var x = personsRepo.ApplyOrdering("BirthDate?");and for personsRepo.OrderBy(p => !p.BirthDate.HasValue), you can use !:
csharp
var x = personsRepo.ApplyOrdering("BirthDate!");WARNING
These nullable characters will only work on the nullable types.