diff --git a/src/NPoco/Expressions/SqlExpression.cs b/src/NPoco/Expressions/SqlExpression.cs index fd810da3..44aac018 100644 --- a/src/NPoco/Expressions/SqlExpression.cs +++ b/src/NPoco/Expressions/SqlExpression.cs @@ -1092,6 +1092,11 @@ protected virtual object VisitConditional(ConditionalExpression conditional) protected string CreateParam(object value) { + // If value has already been provided, reuse the parameter. + var indexOfExistingValue = _params.IndexOf(value); + if (indexOfExistingValue >= 0) + return paramPrefix + indexOfExistingValue; + string paramPlaceholder = paramPrefix + _params.Count; _params.Add(value); return paramPlaceholder;