示例#1
0
文件: Join.cs 项目: Bigjono/sqlformat
        public Join()
        {
            Condition = new CriteriaExpression( null );

            _joinMap = new Dictionary<JoinType, string>
            {
                { JoinType.Join, "JOIN" },
                { JoinType.InnerJoin, "INNER JOIN" },
                { JoinType.LeftJoin, "LEFT JOIN" },
                { JoinType.LeftOuterJoin, "LEFT OUTER JOIN" },
                { JoinType.RightJoin, "RIGHT JOIN" },
                { JoinType.RightOuterJoin, "RIGHT OUTER JOIN" },
                { JoinType.FullJoin, "FULL JOIN" },
                { JoinType.FullOuterJoin, "FULL OUTER JOIN" },
                { JoinType.CrossJoin, "CROSS JOIN" }
            };
            TableHints = new List<TableHint>();
        }
示例#2
0
        private Expression ReadCriteriaList( Expression parent )
        {
            Expression expression = ReadCriteria( parent );

            if ( Tokenizer.IsNextToken( "AND", "OR" ) )
            {
                CriteriaExpression result = new CriteriaExpression( parent );
                result.Left = expression;

                result.Operator = CurrentToken;
                ReadNextToken();

                result.Right = ReadCriteriaList( result );

                return result;
            }
            else
                return expression;
        }
示例#3
0
        protected CriteriaExpression ProcessCriteriaExpression( Expression parent )
        {
            CriteriaExpression expression = new CriteriaExpression( parent );
            expression.Left = ProcessExpression();
            expression.Operator = GetOperator();
            expression.Right = ProcessExpression();

            return expression;
        }
示例#4
0
        private CriteriaExpression ProcessCriteria( Expression parent, Expression expression )
        {
            CriteriaExpression result = new CriteriaExpression( parent );
            result.Left = expression;

            result.Operator = CurrentToken;
            ReadNextToken();

            result.Right = ReadExpression( parent );

            return result;
        }