Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да вмъкнете C# списък в база данни с помощта на Dapper.NET

Ще трябва да го направите малко по-различно. В Dapper той съвпада по конвенция, AKA, имената на свойства или полета са идентични с SQL параметрите. Така че, ако приемем, че имате 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Кеширане на временни обекти на SQL Server

  2. Как да върна няколко стойности в една колона (T-SQL)?

  3. Примери за форматиране на „datetimeoffset“ в SQL Server с помощта на стандартни форматни низове (T-SQL)

  4. Как да върнете подниз от низ в SQL Server с помощта на функцията SUBSTRING().

  5. Най-добрият еквивалент на IsInteger в SQL Server