const string QUERY = "INSERT INTO contacts (first_name,last_name) VALUES" +
BuildQuery(c, contacts);
public string BuildQuery(MySQLCommand c, IEnumerable<contact> contacts)
{
List<string> values = new List<string>();
string query = null;
int i = 0;
foreach (var contact in contacts)
{
i++;
query += "(@firstName" + i + ", @lastName" + i + ")";
c.Parameters.AddWithValue("@firstName" + i, contact.first_name);
c.Parameters.AddWithValue("@lastName" + i, contact.last_name);
if(i < contacts.Count)
query += ",";
}
return query
}
Puede ver un subproceso relevante aquí
!. Debo haberme perdido algo trivial, pero eso es trivial para que tú lo arregles. Por supuesto que sabes lo que sucede cuando contacts
no tiene elementos. No veo más casos extremos. Por cierto, tenga en cuenta que hay un límite en la cantidad de parámetros que puede agregar según el tamaño máximo de paquete permitido de mysql. Puedes cambiarlo, o cuidarte de no sobrepasar ese límite. ¡Salud! :)