/// <summary> /// Get parameter descriptor. /// </summary> /// <param name="parameterName">Parameter name.</param> /// <returns>Data parameter descriptor.</returns> private DataParameterUnit GetParameterDescriptor(string parameterName) { DataParameterUnit result = null; if (!string.IsNullOrWhiteSpace(parameterName)) { if (this.dataCommandConfig.ParameterCollection != null && this.dataCommandConfig.ParameterCollection.Any()) { result = this.dataCommandConfig.ParameterCollection.FirstOrDefault(para => string.Equals(para.Name.Trim('@'), parameterName.Trim('@'), StringComparison.OrdinalIgnoreCase)); } } return(result); }
/// <summary> /// Add parameter to command. /// </summary> /// <param name="parameterName">Parameter name.</param> /// <param name="parameterValue">Parameter value.</param> public void AddParameter(string parameterName, object parameterValue) { DataParameterUnit currentParameterDescriptor = this.GetParameterDescriptor(parameterName); if (currentParameterDescriptor == null) { throw new ArgumentNullException(string.Format(@"Not find parameter ""{0}"" from config file", parameterName)); } if (currentParameterDescriptor.IsOutput) { throw new ArgumentException(string.Format(@"The parameter ""{0}"" is output.", parameterName)); } this.AddInParameter(currentParameterDescriptor.Name, currentParameterDescriptor.DbType, currentParameterDescriptor.Size, currentParameterDescriptor.Precision, currentParameterDescriptor.Scale, parameterValue); }