public void SetValue(SqlParameter parameter, object?value) { _valuesByParameter ??= new (); if (!_valuesByParameter.TryGetValue(parameter, out var parameterValue)) { parameterValue = new SqlParameterValue(value, parameter.Type); _valuesByParameter.Add(parameter, parameterValue); } else { _valuesByParameter.Remove(parameter); _valuesByParameter.Add(parameter, new SqlParameterValue(value, parameterValue.DbDataType)); } if (parameter.AccessorId != null) { _valuesByAccessor ??= new (); if (!_valuesByAccessor.TryGetValue(parameter.AccessorId.Value, out parameterValue)) { parameterValue = new SqlParameterValue(value, parameter.Type); _valuesByAccessor.Add(parameter.AccessorId.Value, parameterValue); } else { _valuesByAccessor.Remove(parameter.AccessorId.Value); _valuesByAccessor.Add(parameter.AccessorId.Value, new SqlParameterValue(value, parameterValue.DbDataType)); } } }
public void AddValue(SqlParameter parameter, object?value, DbDataType dbDataType) { _valuesByParameter ??= new (); var parameterValue = new SqlParameterValue(value, dbDataType); _valuesByParameter.Remove(parameter); _valuesByParameter.Add(parameter, parameterValue); if (parameter.AccessorId != null) { _valuesByAccessor ??= new (); _valuesByAccessor.Remove(parameter.AccessorId.Value); _valuesByAccessor.Add(parameter.AccessorId.Value, parameterValue); } }