public SqlBuilder(SqlConnection sqlConnection)
 {
     parameters        = new Dictionary <string, object>();
     typeAsReplacement = new Dictionary <string, string>();
     this.expressionTreeJoinResolver    = new ExpressionTreeJoinResolver(typeAsReplacement);
     this.expressionTreeWhereResolver   = new ExpressionTreeWhereResolver(parameters, typeAsReplacement);
     this.expressionTreeGroupByResolver = new ExpressionTreeGroupByResolver(typeAsReplacement);
     this.expressionTreeOrderByResolver = new ExpressionTreeOrderByResolver(typeAsReplacement);
     this.expresionTreeSelectResolver   = new ExpressionTreeSelectResolver(typeAsReplacement);
     this.sqlConnection = sqlConnection;
 }
 protected SqlBuilder(SqlConnection sqlConnection, Dictionary <string, object> parameters, string fromClause, string joinClause, Dictionary <string, string> typeAs)
 {
     this.parameters                    = parameters;
     this.FromClause                    = fromClause;
     this.JoinClause                    = joinClause;
     this.typeAsReplacement             = typeAs;
     this.expressionTreeJoinResolver    = new ExpressionTreeJoinResolver(typeAsReplacement);
     this.expressionTreeWhereResolver   = new ExpressionTreeWhereResolver(parameters, typeAsReplacement);
     this.expressionTreeGroupByResolver = new ExpressionTreeGroupByResolver(typeAsReplacement);
     this.expressionTreeOrderByResolver = new ExpressionTreeOrderByResolver(typeAsReplacement);
     this.expresionTreeSelectResolver   = new ExpressionTreeSelectResolver(typeAsReplacement);
     this.sqlConnection                 = sqlConnection;
 }