Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SqlBulkCopy z listy<>

Dzięki FastMember możesz to zrobić bez konieczności przechodzenia przez DataTable (co w moich testach ponad dwukrotnie zwiększa wydajność):

using(var bcp = new SqlBulkCopy(connection))
using(var reader = ObjectReader.Create(data, "Id", "Name", "Description"))
{
    bcp.DestinationTableName = "SomeTable";
    bcp.WriteToServer(reader);
}

Zauważ, że ObjectReader może również pracować ze źródłami nieogólnymi i nie jest konieczne wcześniejsze określanie nazw członków (chociaż prawdopodobnie chcesz użyć ColumnMappings aspekt SqlBulkCopy jeśli nie określisz ich w ObjectReader sam).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Funkcja w SQL Server 2008 podobna do GREATEST w mysql?

  2. Wypróbuj te sprawdzone metody monitorowania bazy danych MySQL

  3. OR nie jest obsługiwany z instrukcją CASE w SQL Server

  4. Utwórz widok z klauzulą ​​ORDER BY

  5. Powody, dla których warto uaktualnić do SQL Server 2017