Example #1
0
        public static Expression Bind(Expression node, IBsonSerializer documentSerializer, IBsonSerializerRegistry serializerRegistry)
        {
            // bind
            var binder = new ProjectionBinder(documentSerializer, serializerRegistry, __methodCallBinder);
            var bound  = binder.Bind(node);

            // post-process
            return(CorrelatedGroupRewriter.Rewrite(bound, serializerRegistry));
        }
Example #2
0
        public static Expression Rewrite(Expression node)
        {
            var rewriter = new CorrelatedGroupRewriter();

            return(rewriter.Visit(node));
        }
 public static Expression Rewrite(Expression node, IBsonSerializerRegistry serializerRegistry)
 {
     var rewriter = new CorrelatedGroupRewriter(serializerRegistry);
     return rewriter.Visit(node);
 }
Example #4
0
        public static Expression Rewrite(Expression node, IBsonSerializerRegistry serializerRegistry)
        {
            var rewriter = new CorrelatedGroupRewriter(serializerRegistry);

            return(rewriter.Visit(node));
        }
 public static Expression Rewrite(Expression node)
 {
     var rewriter = new CorrelatedGroupRewriter();
     return rewriter.Visit(node);
 }