Você teria que fazer um pouco diferente. No Dapper, ele corresponde à convenção AKA de propriedade ou nomes de campo idênticos aos parâmetros SQL. Então, supondo que você tenha um
MyObject
:public class MyObject
{
public int A { get; set; }
public string B { get; set; }
}
E assumindo
processList = List<MyObject>
, você gostaria de fazer isso foreach (var item in processList)
{
string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";
connection.Execute(processQuery, item);
}
Observe que o
MyObject
os nomes de propriedade A e B correspondem aos nomes de parâmetro SQL @A e @B. Se você não quiser renomear objetos, você pode usar tipos anônimos para fazer os mapeamentos em vez de tipos concretos:
foreach (var item in processList)
{
string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";
connection.Execute(processQuery, new { A = item.A, B = item.B });
}
EDITAR:
De acordo com o comentário de Marc Gravell, você também pode fazer com que o Dapper faça o loop para você:
string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";
connection.Execute(processQuery, processList);