-
Type:
Task
-
Resolution: Done
-
Priority:
Minor - P4
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Dotnet Drivers
-
Not Needed
-
None
-
None
-
None
-
None
-
None
-
None
Sub-project 2 of the native LINQ query provider rebuild (epic EF-322), built on top of sub-project 1 (EF-323). Broaden the native translator's predicate support beyond the SP1 parity set.
Scope
- In: the $expr renderer for filter predicates, plus the operator long tail — comparison / logical / arithmetic / string / null-handling / type operators that don't fit the simple $match equality form SP1 covered.
- Out (later sub-projects): projection pushdown ($project), scalar cardinality (Count/First/Any/aggregates), collection / nested / filtered Includes, GroupBy / SelectMany / set ops / Distinct / OfType / VectorSearch, non-canonical paging, the per-row double-pass materializer fix.
Approach
- Extend the SP1 query AST → stage IR → BsonDocument[] lowering with an $expr-based predicate renderer.
- Driver-LINQ stays the gated fallback: predicates the native renderer can't yet express fall back deterministically at compile time, no regressions.
Acceptance
- Zero regressions: full FunctionalTests + SpecificationTests green in Native mode on EF10 and EF8.
- Strict-mode native coverage grows vs SP1 as more predicates translate natively.
- New unit tests for rendered MQL of each operator, including parameterized-binding correctness.
Design docs
- Program: 2026-06-23-native-query-provider-design.md / 2026-06-23-native-query-provider-overview.md (sub-project 2).