I want to insert a row for each object I have in a list. The count of this list is unknown but always 10 or less.
"insert into achievement(Rank,Event,UserId) values(@rank,@event,@userid);"
Knowing this, there can be up to 10 collections of parameters for values.
So basically my question is: How can I do the following code in short and with a variable count of objects (not always 10)?
"insert into achievement(Rank,Event,UserId) values(@rank1,@event1,@userid) (@rank2,@event2,@userid) (@rank3,@event3,@userid) (@rank4,@event4,@userid) (@rank5,@event5,@userid) (@rank6,@event6,@userid) (@rank7,@event7,@userid) (@rank8,@event8,@userid) (@rank9,@event9,@userid) (@rank10,@event10,@userid)"
List<Achievement> achievementDTOs;
command.Parameters.AddWithValue("rank1", dto1.Rank);
command.Parameters.AddWithValue("event1", dto1.Event);
command.Parameters.AddWithValue("rank2", dto2.Rank);
command.Parameters.AddWithValue("event2", dto2.Event);
command.Parameters.AddWithValue("rank3", dto3.Rank);
command.Parameters.AddWithValue("event3", dto3.Event);
command.Parameters.AddWithValue("rank4", dto4.Rank);
command.Parameters.AddWithValue("event4", dto4.Event);
command.Parameters.AddWithValue("rank5", dto5.Rank);
command.Parameters.AddWithValue("event5", dto5.Event);
command.Parameters.AddWithValue("rank6", dto6.Rank);
command.Parameters.AddWithValue("event6", dto6.Event);
command.Parameters.AddWithValue("rank7", dto7.Rank);
command.Parameters.AddWithValue("event7", dto7.Event);
command.Parameters.AddWithValue("rank8", dto8.Rank);
command.Parameters.AddWithValue("event8", dto8.Event);
command.Parameters.AddWithValue("rank9", dto9.Rank);
command.Parameters.AddWithValue("event9", dto9.Event);
command.Parameters.AddWithValue("rank10", dto10.Rank);
command.Parameters.AddWithValue("event10", dto10.Event);