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

SqlBulkCopy fra en liste<>

Med FastMember kan du gøre dette uden nogensinde at skulle gå via DataTable (hvilket i mine tests mere end fordobler præstationen):

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

Bemærk at ObjectReader kan også arbejde med ikke-generiske kilder, og det er ikke nødvendigt at angive medlemsnavnene på forhånd (selvom du sandsynligvis vil bruge ColumnMappings aspekt af SqlBulkCopy hvis du ikke angiver dem i ObjectReader sig selv).



  1. Sådan sammenlignes to tabeller i MySQL

  2. 6 måder at slette duplikerede rækker, der har en primær nøgle i SQLite

  3. Sådan bruger du SqlTransaction i C#

  4. Hvordan Postgresql KOPIERING TIL STDIN Med CSV opdateres ved konflikt?