public MySqlSelectBuilder WhereBlockBegin(WhereClauseType clause, params MySqlParameter[] parameters) { var hasContent = m_CurrentWhereNodes > 0; m_WhereLevels.Push(m_CurrentWhereNodes); m_CurrentWhereNodes = 0; if (hasContent) { m_Where.Append($" {(clause == WhereClauseType.And ? "AND" : "OR")} \n"); } m_Where.Append("( "); parameters.ForEach(p => m_Parameters.Add(p)); return(this); }
public MySqlSelectBuilder WhereClause(WhereClauseType clause, string dbExpression, params MySqlParameter[] parameters) { dbExpression = dbExpression.NonBlank(nameof(dbExpression)).Trim(); var hasContent = m_CurrentWhereNodes > 0; m_CurrentWhereNodes++; if (hasContent) { m_Where.Append($" {(clause == WhereClauseType.And ? "AND" : "OR")} "); } m_Where.Append(quote(dbExpression)); parameters.ForEach(p => m_Parameters.Add(p)); return(this); }
public MySqlSelectBuilder WhereExpressionBlock(WhereClauseType clause, SqlXlatContext xlat) => WhereBlockBegin(clause, xlat.Parameters.Cast <MySqlParameter>().ToArray()) .OrWhere(xlat.SQL.ToString()) .WhereBlockEnd();