sql >> データベース >  >> RDS >> Sqlserver

Dapper.NETを使用してデータベースにC#リストを挿入する方法

    あなたはそれを少し違ったやり方でしなければならないでしょう。 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);
    


    1. SQLServerで英数字以外の文字を含む行を返す

    2. テーブルレベルのバックアップ

    3. SQL Server:クエリは高速ですが、手順からは低速です

    4. BLOBをCLOBに変換する