This is a collection ticket for improvements of the QueryProvider introduced via #20
Queryable Implementation matrix
When it is not implemented, the default behavior applies --> meaning: the query is performed on client side, possibly running heavy API loads against the API.
| IQueryable function |
Implemented |
Unit tests exist |
| Aggregate |
No |
No |
| All |
No |
No |
| Any |
✔️ #51 |
✔️ #51 |
| Append |
No |
No |
| Average |
✔️ ⚠️ but cannot be used, see #26 and #27 |
No |
| Cast |
No |
No |
| Chunk |
No |
No |
| Concat |
No |
No |
| Contains |
No |
No |
| Count |
✔️ ⚠️ but cannot be used, see #26 and #27 |
No |
| DefaultIfEmpty |
No |
No |
| Distinct |
No |
No |
| DistinctBy |
No |
No |
| ElementAt |
✔️ #42 |
✔️ #42 |
| ElementAtOrDefault |
✔️ #42 |
✔️ #42 |
| Except |
No |
No |
| ExceptBy |
No |
No |
| First |
✔️ #42 |
✔️ #42 |
| FirstOrDefault |
✔️ #42 |
✔️ #42 |
| GroupBy |
No |
No |
| GroupJoin |
No |
No |
| Intersect |
No |
No |
| IntersectBy |
No |
No |
| Join |
No |
No |
| Last |
No, require revert sorting |
No |
| LastOrDefault |
No, require revert sorting |
No |
| LongCount |
✔️ ⚠️ but cannot be used, see #26 and #27 |
No |
| Max |
✔️ ⚠️ but cannot be used, see #26 and #27 |
No |
| MaxBy |
No |
No |
| Min |
✔️ ⚠️ but cannot be used, see #26 and #27 |
No |
| MinBy |
No |
No |
| OfType |
No |
No |
| Order |
No |
No |
| OrderBy |
✔️ |
✔️ |
| OrderByDescending |
✔️ |
✔️ |
| Prepend |
No |
No |
| Reverse |
No, easily possible |
No |
| Select |
✔️ |
✔️ |
| SelectMany |
No |
No |
| SequenceEqual |
No |
No |
| SequenceEqual |
No |
No |
| Single |
✔️ #42 |
✔️ #42 |
| SingleOrDefault |
✔️ #42 |
✔️ #42 |
| Skip |
✔️ |
✔️ #30 |
| SkipLast |
No, require revert sorting |
No, require revert sorting |
| SkipWhile |
No |
No |
| Sum |
✔️ ⚠️ but cannot be used, see #26 and #27 |
No |
| Take |
✔️ |
✔️ #30 |
| TakeLast |
No, require revert sorting |
No, require revert sorting |
| TakeWhile |
No |
No |
| ThenBy |
✔️ |
✔️ |
| ThenByDescending |
✔️ |
✔️ |
| Union |
No |
No |
| UnionBy |
No |
No |
| Where |
✔️ |
✔️ |
| Zip |
No |
No |
Other topics
This is a collection ticket for improvements of the QueryProvider introduced via #20
Queryable Implementation matrix
When it is not implemented, the default behavior applies --> meaning: the query is performed on client side, possibly running heavy API loads against the API.
Other topics
ToListAsyncorawait foreach(var p in myQuery)Implement Async for QueryProvider #29...Lastlinq methods https://github.com/bcc-code/bcc-core-api/issues/367