/// <summary> /// Works with any value that can be interpreted by the data provider being used. /// </summary> public override IParameter Build(IFieldPath path, params object[] values) { if (values == null) { return(Other.Build(path, null)); } Junction j = (Type == JunctionType.Conjunction ? (Junction) new Conjunction() : new Disjunction()); foreach (var v in values) { var p = Other.Build(path, v); if (p != null) { j.Add(p); } } if (j.Count == 0) { return(null); } else if (j.Count == 1) { return(j[0]); } return(j); }
public override IParameter Build(IFieldPath path, params object[] values) { var other = Other.Build(path, values); if (other == null || !(other is ISqlParameter)) { return(null); } return(new SqlNotParameter((ISqlParameter)other)); }