Musiałbyś to zrobić trochę inaczej. W Dapper dopasowuje się do konwencji AKA właściwości lub nazw pól, które są identyczne z parametrami SQL. Zakładając więc, że masz MyObject
:
public class MyObject
{
public int A { get; set; }
public string B { get; set; }
}
I zakładając processList = List<MyObject>
, Chciałbyś to zrobić
foreach (var item in processList)
{
string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";
connection.Execute(processQuery, item);
}
Zwróć uwagę, że MyObject
nazwy właściwości A i B pasują do nazw parametrów SQL @A i @B.
Jeśli nie chcesz zmieniać nazw obiektów, możesz użyć typów anonimowych do mapowania zamiast typów konkretnych:
foreach (var item in processList)
{
string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";
connection.Execute(processQuery, new { A = item.A, B = item.B });
}
EDYTUJ:
Zgodnie z komentarzem Marca Gravella, możesz również poprosić Dappera o wykonanie pętli za Ciebie:
string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";
connection.Execute(processQuery, processList);