private Expression BindEmbeddedPipeline(MethodCallExpression node) { var oldIsInEmbeddedPipeline = _isInEmbeddedPipeline; _isInEmbeddedPipeline = true; node = node.Update( Visit(node.Object), Visit(node.Arguments)); _isInEmbeddedPipeline = oldIsInEmbeddedPipeline; if (_isInEmbeddedPipeline) { return(node); } return(EmbeddedPipelineBinder.Bind(node, _bindingContext)); }
private Expression BindEmbeddedPipeline(MethodCallExpression node) { var oldIsInEmbeddedPipeline = _isInEmbeddedPipeline; _isInEmbeddedPipeline = true; node = node.Update( Visit(node.Object), Visit(node.Arguments)); _isInEmbeddedPipeline = oldIsInEmbeddedPipeline; if (_isInEmbeddedPipeline) { return(node); } // we need to discover if this is rooted at an IMongoQueryable... If so, it // gets processed as a top-level pipeline... return(EmbeddedPipelineBinder.Bind(node, _bindingContext)); }