Du kan ikke umiddelbart overføre et array som .NET parameter, men det kan gdot lade sig gøre. Hvis du omformer dit array til et byte-array (hvilket burde være rimeligt simpelt i dit eksempel), så kan du overføre dit byte-array som en binary-datatype-parameter til din sql. Du skal så på sql-serveren have omformet dit byte-array ved hjælp af en user-defined-function til en table, som du derefter kan joine med i din sql. Lidt bøvlet, men absolut muligt.
Et problem ved at indsætte værdierne i en WHERE id IN (...) er, at der er begrænsninger på længden af sql-statements. Du løber ikke i den samme grænse ved at overføre dine data i en binary-parameter.
Der findes på codeproject.com et eksempel på en (ikke synderlig god) implementation af parameteroverførsel af data i byte-arrays + udpakning til tabeller på sql-serveren. Du kan finde mere her:
http://www.codeproject.com/cs/database/PassingArraysIntoSPs.aspMvh.
Jens