Inheritance: System.Linq.Expressions.ExpressionVisitor
        public static IQueryable <T> Decompile <T>(this IQueryable <T> self)
        {
            var expression = DecompileExpressionVisitor.Decompile(self.Expression);

            if (expression != self.Expression)
            {
                return(self.Provider.CreateQuery <T>(expression));
            }
            return(self);
        }
        public TResult Execute <TResult>(Expression expression)
        {
            var decompiled = DecompileExpressionVisitor.Decompile(expression);

            return(Inner.Execute <TResult>(decompiled));
        }
        public object Execute(Expression expression)
        {
            var decompiled = DecompileExpressionVisitor.Decompile(expression);

            return(Inner.Execute(decompiled));
        }
        public virtual IQueryable <TElement> CreateQuery <TElement>(Expression expression)
        {
            var decompiled = DecompileExpressionVisitor.Decompile(expression);

            return(new DecompiledQueryable <TElement>(this, Inner.CreateQuery <TElement>(decompiled)));
        }
        public virtual IQueryable CreateQuery(Expression expression)
        {
            var decompiled = DecompileExpressionVisitor.Decompile(expression);

            return(new DecompiledQueryable(this, inner.CreateQuery(decompiled)));
        }