static void AddParameter(StoredProcedureParameter <TParameter> sp, IDbCommand command, string parameterName, object value) { sp._log(string.Format(" :{0}\t=\t{1}", parameterName, value)); var parameter = command.CreateParameter(); parameter.ParameterName = parameterName; parameter.Value = value ?? DBNull.Value; parameter.Direction = ParameterDirection.InputOutput; command.Parameters.Add(parameter); }
/// <summary> /// /// </summary> /// <returns></returns> protected override IEnumerator <TEntity> GetEnumerator() { using (var command = _connection.CreateCommand()) { command.CommandText = _procedureName; command.CommandType = CommandType.StoredProcedure; command.CommandTimeout = _timeout; var sp = new StoredProcedureParameter <TParameter>(_parameter, Log, ConvertParameterValue); Log("Execute StoredProcedure: " + _procedureName); sp.Binding(command); var enumerator = CreateEnumerator(command); sp.ReverseBinding(); // 将参数值反向输出 return(enumerator); } }