Il faudrait faire un peu différemment. Dans Dapper, il correspond à la convention AKA, les noms de propriété ou de champ étant identiques aux paramètres SQL. Donc, en supposant que vous aviez un MyObject
:
public class MyObject
{
public int A { get; set; }
public string B { get; set; }
}
Et en supposant que processList = List<MyObject>
, vous voudriez faire ceci
foreach (var item in processList)
{
string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";
connection.Execute(processQuery, item);
}
Notez que le MyObject
les noms de propriété A et B correspondent aux noms de paramètre SQL @A et @B.
Si vous ne souhaitez pas renommer les objets, vous pouvez utiliser des types anonymes pour effectuer les mappages au lieu de types concrets :
foreach (var item in processList)
{
string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";
connection.Execute(processQuery, new { A = item.A, B = item.B });
}
MODIF :
Selon le commentaire de Marc Gravell, vous pouvez également demander à Dapper de faire la boucle pour vous :
string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";
connection.Execute(processQuery, processList);