Skip to content

Query: Introduce an Expression for query root #20146

@smitpatel

Description

@smitpatel

Currently we use ConstantExpression of EntityQueryable as query root.
EntityQueryable is an implementation of IQueryable which wraps current expression trees and allows it to be enumerated using IQueryProvider.

  • IQueryProvider is not needed during expression tree processing in anyway. It is a bootstrapper to execute query.
  • By introducing query root as expression we can streamline our implementation since we deal with ExpressionVisitors everywhere. (We pattern match constant of entity queryable everywhere
  • Allows derived query roots which can be visited by individual visitors also.

Split off from #18923

Metadata

Metadata

Assignees

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions