public InExpressionBuilder() { _expression = new InExpression(); }
public override void Visit(InExpression e) { _expression.SetOperand(e); }
public virtual void Visit(InExpression e) { throw new NotSupportedException(); }
public virtual void Visit(InExpression e) { var values = (IEnumerable)e.Values.Value; var iter = values.GetEnumerator(); if (!iter.MoveNext()) { _sql.Append("1=1"); return; } e.Column.Accept(this); _sql.Append(" IN ("); var comma = ""; do { _sql.Append(comma); Visit(new ValueExpression { Value = iter.Current, ColumnMeta = e.Values.ColumnMeta }); comma = ","; } while (iter.MoveNext()); _sql.Append(")"); }
public override void Visit(InExpression e) { _expression.Operand = e; }