Как в C# осуществить передачу параметров в запрос массивом?
Можно или через массив входных параметровpublic int Insert(params string[] strParams)
{ 
   var id = strParams[0];
   var name = strParams[1];
...
}
Или через словарьpublic int Insert(Dictionary<string, string> args)
{ 
  foreach(var kv in args)
  {
      oraCommand.Parameters.Add(kv.Key, kv.Value);
  }
...
}
На самом деле всё ограничивается только вашей фантазией =) Я, например, почти всегда пишу примерно такую функцию:public void ExcecuteQuery(string query, IEnumerable<OracleParameter> param = null, string connectionString = null)
using(OracleConnection connection = new OracleConnection(connectionString  ?? defaultConn))
			using(OracleCommand cmd = connection.CreateCommand())
			{
				cmd.CommandText = query;
				if (param != null)
				{
					foreach (OracleParameter ora in param)
					{
						cmd.Parameters.Add(ora);
					}
				}
				try
				{
					connection.Open();
				}
				catch (OracleException) { return;  }
				try
				{
					cmd.ExecuteNonQuery();
				}
				catch(OracleException e)
				{
				}
				finally { connection.Close(); }
			}
Разумеется она может меняться в зависимости от ситуации. Однако для большинства задач эта функция подходит.