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

SqlBulkCopy от списък<>

С FastMember можете да направите това, без да е необходимо да преминавате през DataTable (което в моите тестове повече от удвоява производителността):

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

Имайте предвид, че ObjectReader може да работи и с негенерични източници и не е необходимо да указвате имената на членовете предварително (въпреки че вероятно искате да използвате ColumnMappings аспект на SqlBulkCopy ако не ги посочите в ObjectReader себе си).



  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. Съхраняване на изображения в SQL Server?

  3. Как да увеличите размера на файла с данни в SQL Server (T-SQL)

  4. 4 невероятни ресурси за наблюдение на SQL Server за администратори на бази данни

  5. Как да изпълним директно SQL заявка в C#?