sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan indsætter du en C#-liste i databasen ved hjælp af Dapper.NET

Du skulle gøre det lidt anderledes. I Dapper matcher det på konvention AKA egenskabs- eller feltnavne, der er identiske med SQL-parametre. Så hvis du antager, at du havde et MyObject :

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

    public string B { get; set; }
}

Og antager procesList =Liste , Du ønsker at gøre dette

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

Bemærk, at MyObject egenskabsnavnene A og B matcher SQL-parameternavnene @A og @B.

Hvis du ikke vil omdøbe objekter, kan du bruge anonyme typer til at lave tilknytningerne i stedet for konkrete typer:

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

EDIT:

Ifølge Marc Gravells kommentar kan du også få Dapper til at lave løkken for dig:

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


  1. utl_file.fopen Parametre i Oracle

  2. Hvordan kan jeg indføre flere betingelser i LIKE-operatoren?

  3. pgAdmin III Hvorfor forespørgselsresultater forkortes?

  4. Løndatamodel