public object Execute(Expression expression)
 {
     expression = ObjectWrapperReplacer.FixExpression(expression);
     return(typeof(IQueryable).IsAssignableFrom(expression.Type)
             ? ExecuteQueryable(expression)
             : ExecuteNonQueryable(expression));
 }
        public static Expression FixExpression(Expression expression)
        {
            var replacer = new ObjectWrapperReplacer();

            return(replacer.Visit(expression));
        }