/// Creates an instance of the PsqlGenratingQueryModelVisitor to visit the QueryModel provided as an argument and to generate a corresponding PostgreSQL query. public static QueryCommand GeneratePsqlQuery(QueryModel queryModel) { var visitor = new PsqlGeneratingQueryModelVisitor(); visitor.VisitQueryModel(queryModel); return(visitor.GetPsqlCommand()); }
/// Creates an instance of the PsqlGeneratingExpressionVisitor based on provided PsqlGeneratingQueryModelVisitor instance to visit the LINQ expression provided as an argument and to generate a corresponding part of the PostgreSQL query. public static string GetPsqlExpression(Expression linqExpression, PsqlGeneratingQueryModelVisitor queryModelVisitor) { var visitor = new PsqlGeneratingExpressionVisitor(queryModelVisitor); visitor.Visit(linqExpression); return(visitor.GetPsqlExpression()); }
private PsqlGeneratingExpressionVisitor(PsqlGeneratingQueryModelVisitor queryModelVisitor) { _psqlExpressionBuilder = new StringBuilder(); _queryModelVisitor = queryModelVisitor; _visitorTriggeredByMemberVisitor = false; _readingConditionalStatement = false; _renamingColumns = false; }