Add a transformation step that detects query operators.
When it finds one, it uses ExpressionTreeParser.ParseNode to parse the query operator. The resulting query is put into a SubQueryExpression. Problem: The transformation cannot detect the associated identifier name for the current query operator. To implement this, find a solution for this problem.
Adapt the ExpressionTreeParser to deal with SubQueryExpressions as the source expressions of expression nodes:
Add a ParsedQueryExpressionNode implementation of IExpressionNode that holds the QueryModel.
Resolve should use the QueryModel.SelectClause as the replacement expression.
Apply throws if input model is not null. Otherwise, the wrapped QueryModel is used.
In ParseNode, when expression is a SubQueryExpression, return a new ParsedQueryExpressionNode for the QueryModel in the expression.