sql >> Database >  >> RDS >> Sqlserver

SqlBulkKopieer uit een lijst<>

Met FastMember kunt u dit doen zonder ooit via DataTable . te hoeven gaan (wat in mijn tests de prestaties meer dan verdubbelt):

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

Merk op dat ObjectReader kan ook werken met niet-generieke bronnen, en het is niet nodig om de ledennamen vooraf op te geven (hoewel u waarschijnlijk de ColumnMappings wilt gebruiken aspect van SqlBulkCopy als u ze niet opgeeft in de ObjectReader zelf).



  1. Identiteitsachtige kolom maar gebaseerd op Group By-criteria

  2. Wat is het doel van het gebruik van OPTION(MAXDOP 1) in SQL Server?

  3. Lock-in van databaseleveranciers voor MySQL of MariaDB vermijden

  4. mysql SQL:specifiek item om eerst te zijn en dan om de rest van de items te sorteren