sql >> Databáze >  >> RDS >> Sqlserver

Jak vložit C# List do databáze pomocí Dapper.NET

Musel bys to udělat trochu jinak. V Dapper se shoduje podle konvence AKA názvů vlastností nebo polí, které jsou shodné s parametry SQL. Za předpokladu, že jste měli MyObject :

public class MyObject
{
    public int A { get; set; }

    public string B { get; set; }
}

A za předpokladu, že processList = List<MyObject> , Chcete to udělat

foreach (var item in processList)
{
    string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";        
    connection.Execute(processQuery, item);
}

Všimněte si, že MyObject názvy vlastností A a B odpovídají názvům parametrů SQL @A a @B.

Pokud nechcete přejmenovávat objekty, můžete k mapování místo konkrétních typů použít anonymní typy:

foreach (var item in processList)
{
    string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";        
    connection.Execute(processQuery, new { A = item.A, B = item.B });
}

UPRAVIT:

Podle komentáře Marca Gravella můžete také nechat Dappera, aby za vás udělal smyčku:

string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@A, @B)";        
connection.Execute(processQuery, processList);


  1. Funkce SUM() v MySQL

  2. Jak vybrat ze dvou tabulek v MySQL, i když ne všechny řádky v jedné tabulce mají korespondenty ve druhé?

  3. Oracle SQL Query pro výpis všech schémat v DB

  4. Zrychlení mysql výpisů a importů