-
Notifications
You must be signed in to change notification settings - Fork 4
Supported Features
Niko Kovačič edited this page Sep 30, 2018
·
1 revision
A number of the basic operations are supported including:
-
Skip(n)maps to length -
Take(n)maps to count -
Select(...)may map to fields (see below) -
Where(...)may map to filter or query (see below) -
OrderBy,OrderByDescendingmaps to sort (see below) -
ThenBy,ThenByDescendingmaps to sort desc (see below) -
First,FirstOrDefaultmaps to length 1, filter if predicate supplied -
Single,SingleOrDefaultmaps to length 2, filter if predicate supplied -
Count,LongCountmaps to count query if top level, facet if within a GroupBy
Select is supported and detects whole entity vs field selection with field, anonymous object and Tuple creation patterns:
Examples of supported whole-entity selects:
Select()
Select(r => r)
Select(r => new { r })
Select(r => Tuple.Create(r))
Select(r => new { r, AzureFields.Score })
Select(r => Tuple.Create(r, AzureFields.Score, r.Name)
Examples of supported name-field selects:
Select(r => r.Name)
Select(r => new { r.Name })
Select(r => Tuple.Create(r.Name))
Select(r => new { r.Name, AzureFields.Score })
Select(r => Tuple.Create(r.Id, AzureFields.Score, r.Name)
Where creates filter operations and supports the following patterns:
-
< > <= >=maps to range -
==maps to term -
!=maps to term inside a not -
||maps to or -
&&maps to and -
HasValue,!=nullmaps to exists -
!HasValue,==nullmaps to missing -
Equalsfor static and instance maps to term -
Containson IEnumerable/array maps to terms