Tendrías que hacerlo un poco diferente. En Dapper, coincide con la convención AKA propiedad o nombres de campo que son idénticos a los parámetros SQL. Entonces, asumiendo que tienes un MyObject
:
public class MyObject
{
public int A { get; set; }
public string B { get; set; }
}
Y asumiendo processList = List<MyObject>
, Te gustaría hacer esto
foreach (var item in processList)
{
string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";
connection.Execute(processQuery, item);
}
Tenga en cuenta que MyObject
los nombres de las propiedades A y B coinciden con los nombres de los parámetros SQL @A y @B.
Si no desea cambiar el nombre de los objetos, puede usar tipos anónimos para hacer las asignaciones en lugar 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:
Según el comentario de Marc Gravell, también puedes hacer que Dapper haga el ciclo por ti:
string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";
connection.Execute(processQuery, processList);