Per passare un insieme di valori, devi utilizzare i tipi di tabella o matrice di Oracle.
Inizialmente, crei un tipo di tabella (ad es. per NUMBER):
CREATE TYPE number_table AS TABLE OF NUMBER;
Quando crei il parametro per la query, dichiaralo come array PL/SQL associativo:
OracleParameter param1 = new OracleParameter();
param1.OracleDbType = OracleDbType.Int32;
param1.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
Quindi assegna alcuni valori:
param1 = new int[] { 3857, 3858, 3863, 3285 };
E la tua domanda ha bisogno di un cast:
SELECT * FROM tablename a
where a.flokkurid in (TABLE(CAST(:manyNumbers AS number_table)))
order by sjodategund, rodun