Du måste göra det lite annorlunda. I Dapper matchar den enligt konventionell AKA egenskaps- eller fältnamn som är identiska med SQL-parametrar. Så, förutsatt att du hade ett MyObject
:
public class MyObject
{
public int A { get; set; }
public string B { get; set; }
}
Och förutsatt att processList = List<MyObject>
, Du skulle vilja göra det här
foreach (var item in processList)
{
string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";
connection.Execute(processQuery, item);
}
Observera att MyObject
egenskapsnamnen A och B matchar SQL-parameternamnen @A och @B.
Om du inte vill byta namn på objekt kan du använda anonyma typer för att göra mappningarna istället för konkreta 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:
Enligt Marc Gravells kommentar kan du också låta Dapper göra loopen åt dig:
string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";
connection.Execute(processQuery, processList);