public override TSqlQuery Compile(ClauseCompilationContext context) { TSqlQuery innerQuery = Clause.Compile(context); return(new TSqlQuery( $"{TSqlSyntax.Where} {innerQuery.Query}", new Dictionary <string, object>(innerQuery.Parameters) )); }
public TSqlQuery CompileQuery() { Dictionary <string, object> parameters = new Dictionary <string, object>(); StringBuilder queryString = new StringBuilder(); foreach (Clause clause in _clauses) { TSqlQuery clauseQuery = clause.Compile(_clauseCompilationContext); queryString.AppendLine(clauseQuery.Query); foreach (KeyValuePair <string, object> item in clauseQuery.Parameters) { parameters.Add(item.Key, item.Value); } } return(new TSqlQuery(queryString.ToString(), parameters)); }
public override TSqlQuery Compile(ClauseCompilationContext context) { Dictionary <string, object> parameters = new Dictionary <string, object>(); StringBuilder queryString = new StringBuilder(); foreach (Clause clause in InnerClauses) { if (queryString.Length > 0) { queryString.Append($" {SqlBuilderHelper.ConvertBooleanOperationToString(BooleanOperation)} "); } TSqlQuery clauseQuery = clause.Compile(context); queryString.Append(clauseQuery.Query); foreach (KeyValuePair <string, object> item in clauseQuery.Parameters) { parameters.Add(item.Key, item.Value); } } return(new TSqlQuery($"({queryString})", parameters)); }