示例#1
0
        /// 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());
        }
示例#2
0
        /// 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());
        }
示例#3
0
        private PsqlGeneratingExpressionVisitor(PsqlGeneratingQueryModelVisitor queryModelVisitor)
        {
            _psqlExpressionBuilder = new StringBuilder();
            _queryModelVisitor     = queryModelVisitor;

            _visitorTriggeredByMemberVisitor = false;
            _readingConditionalStatement     = false;
            _renamingColumns = false;
        }