public SqlComparePredicate(SqlSearchCondition sqlSearchCondition, SqlExpression leftExpression, SqlCompareOperator sqlCompareOperator, SqlExpression rightExpression)
     : base(sqlSearchCondition)
 {
     this.leftExpression = leftExpression;
     this.sqlCompareOperator = sqlCompareOperator;
     this.rightExpression = rightExpression;
 }
 public SqlBetweenPredicate(SqlSearchCondition sqlSearchCondition, SqlExpression leftExpression, SqlExpression middleExpression, SqlExpression rightExpression)
     : this(sqlSearchCondition, leftExpression, middleExpression, rightExpression, false)
 {
     this.leftExpression = leftExpression;
     this.middleExpression = middleExpression;
     this.rightExpression = rightExpression;
 }
 public SqlBetweenPredicate(SqlSearchCondition sqlSearchCondition, SqlExpression leftExpression, SqlExpression middleExpression, SqlExpression rightExpression, bool negative)
     : base(sqlSearchCondition)
 {
     this.leftExpression = leftExpression;
     this.middleExpression = middleExpression;
     this.rightExpression = rightExpression;
     this.negative = negative;
 }
 public SqlAllPredicate(SqlSearchCondition sqlSearchCondition, SqlExpression leftExpression, SqlCompareOperator sqlCompareOperator, SqlAllPredicateType sqlAllPredicateType)
     : base(sqlSearchCondition)
 {
     this.leftExpression = leftExpression;
     this.sqlCompareOperator = sqlCompareOperator;
     this.sqlSelectStatement = new SqlSelectStatement(this);
     this.sqlAllPredicateType = sqlAllPredicateType;
 }
 public SqlAliasSelectListItem AddSqlAliasSelectListItem(SqlExpression sqlExpression)
 {
     SqlExpressionAlias sqlExpressionAlias = new SqlExpressionAlias(this.SqlStatement.SqlDatabase, sqlExpression, "");
     return new SqlAliasSelectListItem( this, sqlExpressionAlias) ;
 }
 public void AddSqlColumnAndValue(SqlColumn sqlColumn, SqlExpression sqlExpression)
 {
     this.sqlColumnList.Add(sqlColumn);
     this.valueList.Add(sqlExpression);
 }
 public SqlMaxFunction(SqlExpression sqlExpression)
     : this(sqlExpression, false)
 {
 }
 public SqlOrderByItem AddSqlOrderByItem(SqlExpression sqlExpression)
 {
     return AddSqlOrderByItem(sqlExpression, false);
 }
 public SqlInPredicateItem(SqlInPredicate sqlInPredicate, SqlExpression sqlExpression)
 {
     this.Parent = sqlInPredicate;
     this.sqlExpression  = sqlExpression;
 }
 public SqlLikePredicate GetSqlLikePredicate(SqlColumnAlias leftColumnAlias, SqlExpression rightExpression, bool negative, string escapeCharacter)
 {
     SqlColumnAliasReference leftSqlColumnAliasReference = new SqlColumnAliasReference(leftColumnAlias) ;
     return GetSqlLikePredicate(leftSqlColumnAliasReference, rightExpression, negative, escapeCharacter);
 }
 public SqlComparePredicate GetSqlComparePredicate(SqlColumnAlias leftColumnAlias, SqlCompareOperatorType sqlCompareOperatorType, SqlExpression rightExpression)
 {
     SqlColumnAliasReference leftSqlColumnAliasReference = new SqlColumnAliasReference(leftColumnAlias) ;
     return GetSqlComparePredicate(leftSqlColumnAliasReference, sqlCompareOperatorType, rightExpression);
 }
 public SqlComparePredicate GetSqlComparePredicate(SqlExpression leftExpression, SqlCompareOperatorType sqlCompareOperatorType, SqlExpression rightExpression)
 {
     SqlComparePredicate newSqlComparePredicate = new SqlComparePredicate(this, leftExpression, sqlCompareOperatorType, rightExpression) ;
     this.sqlPredicate = newSqlComparePredicate;
     return newSqlComparePredicate;
 }
 public SqlBetweenPredicate GetSqlBetweenPredicate(SqlExpression leftExpression, SqlExpression middleExpression, SqlExpression rightExpression, bool negative)
 {
     SqlBetweenPredicate newSqlBetweenPredicate = new SqlBetweenPredicate(this, leftExpression, middleExpression, rightExpression, negative) ;
     this.sqlPredicate = newSqlBetweenPredicate;
     return newSqlBetweenPredicate;
 }
 public SqlBetweenPredicate GetSqlBetweenPredicate(SqlExpression leftExpression, SqlExpression middleExpression, SqlExpression rightExpression)
 {
     return GetSqlBetweenPredicate(leftExpression, middleExpression, rightExpression, false);
 }
 public SqlAllPredicate GetSqlAllPredicate(SqlExpression leftExpression, SqlCompareOperatorType sqlCompareOperatorType)
 {
     SqlAllPredicate newSqlAllPredicate = new SqlAllPredicate(this, leftExpression, sqlCompareOperatorType, SqlAllPredicateType.All) ;
     this.sqlPredicate = newSqlAllPredicate;
     return newSqlAllPredicate;
 }
 public SqlLikePredicate GetSqlLikePredicate(SqlExpression leftExpression, SqlExpression rightExpression, bool negative, string escapeCharacter)
 {
     SqlLikePredicate newSqlLikePredicate = new SqlLikePredicate(this, leftExpression, rightExpression, negative, escapeCharacter) ;
     this.sqlPredicate = newSqlLikePredicate;
     return newSqlLikePredicate;
 }
 public SqlLikePredicate GetSqlLikePredicate(SqlColumnAlias leftColumnAlias, SqlExpression rightExpression, bool negative)
 {
     SqlColumnAliasReference leftSqlColumnAliasReference = new SqlColumnAliasReference(leftColumnAlias) ;
     return GetSqlLikePredicate(leftSqlColumnAliasReference, rightExpression, negative, "");
 }
 public SqlComparePredicate GetSqlComparePredicate(SqlExpression leftExpression, SqlCompareOperatorType sqlCompareOperatorType, SqlColumnAlias rightColumnAlias)
 {
     SqlColumnAliasReference rightSqlColumnAliasReference = new SqlColumnAliasReference(rightColumnAlias) ;
     return GetSqlComparePredicate(leftExpression, sqlCompareOperatorType, rightSqlColumnAliasReference);
 }
 public SqlDistinctFunction(SqlExpression sqlExpression)
     : base()
 {
     this.sqlExpression = sqlExpression;
 }
 public SqlFreeTextPredicate GetSqlFreeTextPredicate(SqlExpression leftExpression, SqlExpression rightExpression)
 {
     SqlFreeTextPredicate newSqlFreeTextPredicate = new SqlFreeTextPredicate(this, leftExpression, rightExpression) ;
     this.sqlPredicate = newSqlFreeTextPredicate;
     return newSqlFreeTextPredicate;
 }
 public SqlOrderByItem AddSqlOrderByItem(SqlExpression sqlExpression, bool descending)
 {
     SqlOrderByItem sqlOrderByItem = new SqlOrderByItem(this, sqlExpression, descending);
     this.sqlOrderByItems.Add(sqlOrderByItem);
     return sqlOrderByItem;
 }
 public SqlFreeTextPredicate GetSqlFreeTextPredicate(SqlColumnAlias leftColumnAlias, SqlExpression rightExpression)
 {
     SqlColumnAliasReference leftSqlColumnAliasReference = new SqlColumnAliasReference(leftColumnAlias) ;
     return GetSqlFreeTextPredicate(leftSqlColumnAliasReference, rightExpression);
 }
 public SqlMaxFunction(SqlExpression sqlExpression, bool distinct)
 {
     this.sqlExpression = sqlExpression;
     this.distinct = distinct;
 }
 public SqlIsNullPredicate GetSqlIsNullPredicate(SqlExpression leftExpression)
 {
     return GetSqlIsNullPredicate(leftExpression, false);
 }
 public void AddSqlColumnAndValue(SqlColumnAlias sqlColumnAlias, SqlExpression sqlExpression)
 {
     AddSqlColumnAndValue(sqlColumnAlias.SqlColumn, sqlExpression);
 }
 public SqlIsNullPredicate GetSqlIsNullPredicate(SqlExpression leftExpression, bool negative)
 {
     SqlIsNullPredicate newSqlIsNullPredicate = new SqlIsNullPredicate(this, leftExpression, negative) ;
     this.sqlPredicate = newSqlIsNullPredicate;
     return newSqlIsNullPredicate;
 }
 public SqlParenthesisGroup(bool isNegative,SqlExpression expression)
 {
     this.IsNegative = isNegative;
     this.Expression = expression;
 }
 public SqlLikePredicate GetSqlLikePredicate(SqlExpression leftExpression, SqlExpression rightExpression)
 {
     return GetSqlLikePredicate(leftExpression, rightExpression, false, "");
 }
 public SqlAliasSelectListItem AddSqlAliasSelectListItem(SqlExpression sqlExpression, string alias)
 {
     if (alias == null)
         alias = "";
     SqlExpressionAlias sqlExpressionAlias = new SqlExpressionAlias(this.SqlStatement.SqlDatabase, sqlExpression, alias);
     return new SqlAliasSelectListItem( this, sqlExpressionAlias) ;
 }
 public SqlLikePredicate GetSqlLikePredicate(SqlExpression leftExpression, SqlExpression rightExpression, bool negative)
 {
     return GetSqlLikePredicate(leftExpression, rightExpression, negative, "");
 }