Du skulle gøre det lidt anderledes. I Dapper matcher det på konvention AKA egenskabs- eller feltnavne, der er identiske med SQL-parametre. Så hvis du antager, at du havde et MyObject
:
public class MyObject
{
public int A { get; set; }
public string B { get; set; }
}
Og antager procesList =Liste
foreach (var item in processList)
{
string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";
connection.Execute(processQuery, item);
}
Bemærk, at MyObject
egenskabsnavnene A og B matcher SQL-parameternavnene @A og @B.
Hvis du ikke vil omdøbe objekter, kan du bruge anonyme typer til at lave tilknytningerne i stedet for konkrete typer:
foreach (var item in processList)
{
string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";
connection.Execute(processQuery, new { A = item.A, B = item.B });
}
EDIT:
Ifølge Marc Gravells kommentar kan du også få Dapper til at lave løkken for dig:
string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";
connection.Execute(processQuery, processList);