Как пройти мимо этого параметра к функции oracle?
У меня есть функция Oracle, которая получает статус и возвращает другой статус, эта функция не может быть изменена, и я хотел бы знать, есть ли у кого-то лучшее представление о том, как итерация одной и той же функции передает ей список состояний.
Спасибо.
public List<string> GetStatusNotDisplayTCByList(List<string> status) { try { List<string> result = new List<string>(); using (OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings["dbnet"].ConnectionString)) { using (OracleCommand comm = new OracleCommand("pkg_aut_module.fn_get_status", conn)) { comm.CommandType = CommandType.StoredProcedure; comm.BindByName = true; comm.ArrayBindCount = status.Count; comm.Parameters.Add("p_status", OracleDbType.Varchar2, status.ToArray(),ParameterDirection.Input); comm.Parameters.Add("Vli", OracleDbType.RefCursor, null, ParameterDirection.ReturnValue); DataTable dt = new DataTable(); conn.Open(); using (OracleDataReader reader = comm.ExecuteReader()) { if (reader.HasRows) { dt.Load(reader); List<DataRow> dr = dt.AsEnumerable().ToList(); while (reader.Read()) { foreach (var row in dr.AsEnumerable()) { result.Add(Convert.ToString(row["status_display"])); } } reader.Close(); conn.Dispose(); } } } } return result; } catch (Exception e) { throw; } }
Что я уже пробовал:
Я пытаюсь передать более одного параметра функции Oracle, и если это невозможно, я хотел бы знать, как я мог бы вызвать эту функцию несколько раз эффективным способом.