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; }