Si vous avez la requête dans une variable (pas une procédure stockée) et que vous n'avez pas une énorme quantité d'identifiants, vous pouvez créer votre propre IN. Je n'ai pas testé la vitesse de cette approche.
Ce code ne compilera pas, c'est juste pour vous donner une idée.
query = "SELECT * FROM table WHERE col IN ("
For t = 0 TO x.Length-1
If t > 0 Then query &= ","
query &= "@var" & t
Next
query &= ")"
...
For t = 0 TO x.Length-1
cmd.Parameters.Add("@var" & t, SqlDbType.Int).Value = x(t)
Next