あなたはそれを少し違ったやり方でしなければならないでしょう。 Dapperでは、SQLパラメーターと同一の従来のAKAプロパティまたはフィールド名と一致します。したがって、MyObject
があると仮定します :
public class MyObject
{
public int A { get; set; }
public string B { get; set; }
}
そして、processList = List<MyObject>
と仮定します 、これを実行したい
foreach (var item in processList)
{
string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";
connection.Execute(processQuery, item);
}
MyObject
に注意してください プロパティ名AおよびBは、SQLパラメータ名@Aおよび@Bと一致します。
オブジェクトの名前を変更したくない場合は、具体的な型の代わりに匿名型を使用してマッピングを行うことができます。
foreach (var item in processList)
{
string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";
connection.Execute(processQuery, new { A = item.A, B = item.B });
}
編集:
Marc Gravellのコメントによると、Dapperにループを実行させることもできます:
string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";
connection.Execute(processQuery, processList);