示例#1
0
        public override TSqlQuery Compile(ClauseCompilationContext context)
        {
            TSqlQuery innerQuery = Clause.Compile(context);

            return(new TSqlQuery(
                       $"{TSqlSyntax.Where} {innerQuery.Query}",
                       new Dictionary <string, object>(innerQuery.Parameters)
                       ));
        }
示例#2
0
        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));
        }
示例#3
0
        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));
        }