Beispiel #1
0
        public static Expression Bind(Expression node, IBsonSerializer rootSerializer, IBsonSerializerRegistry serializerRegistry)
        {
            var bindingContext = new PipelineBindingContext(serializerRegistry);
            var binder         = new PipelineBinder(bindingContext, rootSerializer);

            node = binder.Bind(node);
            node = AccumulatorBinder.Bind(node, bindingContext);
            node = CorrelatedGroupRewriter.Rewrite(node);
            return(node);
        }
Beispiel #2
0
        public static Expression Bind(Expression node, IBindingContext parent)
        {
            var bindingContext = new EmbeddedPipelineBindingContext(parent);
            var binder         = new EmbeddedPipelineBinder(bindingContext);

            var bound = binder.Bind(node);

            bound = AccumulatorBinder.Bind(bound, bindingContext);
            return(CorrelatedGroupRewriter.Rewrite(bound));
        }