public static string GetHqlExpression(Expression linqExpression, ParameterAggregator parameterAggregator)
        {
            var visitor = new HqlGeneratorExpressionTreeVisitor(parameterAggregator);

            visitor.VisitExpression(linqExpression);
            return(visitor.GetHqlExpression());
        }
        public static string GetHqlExpression(Expression linqExpression, ParameterAggregator parameterAggregator)
        {
            // 传递需要保存解析参数的容器
            var visitor = new HqlGeneratorExpressionTreeVisitor(parameterAggregator);

            // 执行 Visitor
            visitor.Visit(linqExpression);
            // 扩展方法
            // 通过 Visitor 过程中保存的临时变量,将其转换成 Hql
            return(visitor.GetHqlExpression());
        }
 private HqlGeneratorExpressionTreeVisitor(ParameterAggregator parameterAggregator)
 {
     _parameterAggregator = parameterAggregator;
 }