Why not simply loop the collection and insert the row on each loop. Something like
using (System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection()) {
try {
connection.ConnectionString = connectionString;
connection.Open();
sql = "INSERT INTO MyTable (MyColumn) VALUES (@value)";
using (System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand(sql, connection)) {
command.Parameters.Add(new System.Data.SqlClient.SqlParameter("@value",
System.Data.SqlDbType.Int));
command.Prepare();
foreach (int value in iList) {
command.Parameters["@value"].Value = value;
command.ExecuteNonQuery();
}
}
...