Musel bys to udělat trochu jinak. V Dapper se shoduje podle konvence AKA názvů vlastností nebo polí, které jsou shodné s parametry SQL. Za předpokladu, že jste měli MyObject
:
public class MyObject
{
public int A { get; set; }
public string B { get; set; }
}
A za předpokladu, že processList = List<MyObject>
, Chcete to udělat
foreach (var item in processList)
{
string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";
connection.Execute(processQuery, item);
}
Všimněte si, že MyObject
názvy vlastností A a B odpovídají názvům parametrů SQL @A a @B.
Pokud nechcete přejmenovávat objekty, můžete k mapování místo konkrétních typů použít anonymní typy:
foreach (var item in processList)
{
string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";
connection.Execute(processQuery, new { A = item.A, B = item.B });
}
UPRAVIT:
Podle komentáře Marca Gravella můžete také nechat Dappera, aby za vás udělal smyčku:
string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";
connection.Execute(processQuery, processList);