コード例 #1
0
        protected virtual string CreateWhereStatement(WhereStatement statement, bool isHaving)
        {
            if (!string.IsNullOrEmpty(statement.Literal))
            {
                if (isHaving)
                {
                    return($"HAVING {statement.Literal}");
                }

                return($"WHERE {statement.Literal}");
            }
            else
            {
                var sb = new StringBuilder();
                sb.Append(isHaving ? "HAVING " : "WHERE ");

                bool isFirst = true;
                foreach (var clause in statement)
                {
                    CreateWhereClause(clause, sb, isFirst);
                    isFirst = false;
                }

                return(sb.ToString());
            }
        }
コード例 #2
0
        protected virtual string CreateWhereStatement(WhereStatement statement)
        {
            var sb = new StringBuilder();
            sb.Append("WHERE ");

            bool isFirst = true;
            foreach (var clause in statement)
            {
                CreateWhereClause(clause, sb, isFirst);
                isFirst = false;
            }

            return sb.ToString();
        }
コード例 #3
0
 public virtual ISelectQueryBuilder Having(string literal)
 {
     havingStatement = WhereStatement.CreateFromLiteral(literal);
     return(this);
 }
コード例 #4
0
 public virtual ISelectQueryBuilder Having(WhereStatement havingStatement)
 {
     this.havingStatement = havingStatement;
     return(this);
 }
コード例 #5
0
 public virtual ISelectQueryBuilder Where(WhereStatement whereStatement)
 {
     this.whereStatement = whereStatement;
     return(this);
 }