У меня есть данные с записями. Я вставляю записи в таблицу Sql с помощью SqlBulkCopy.It работает отлично. В следующий раз, когда вы получаете данные с одинаковыми записями с несколькими измененными значениями, SqlBulkCopy вставляет другой набор записей без обновления предыдущих деталей. могу ли я обновить таблицу Sql с помощью SqlBulkCopy ?? Пожалуйста помоги.
Спасибо, Vix
Как упоминалось AdaTheDev, SqlBulkCopy может вставлять только вставку, однако есть альтернативная библиотека, которая позволяет выполнять операции Upsert.
Отказ от ответственности : Я являюсь владельцем проекта Bulk Operations
Библиотека Bulk Operations имеет метод « BulkMerge », который вставляет или обновляет строки на основе указанного ключа.
var bulk = new BulkOperation(connection);
bulk.ColumnMappings.Add("ID", true);
bulk.ColumnMappings.Add("Column1");
bulk.ColumnMappings.Add("Column2");
bulk.ColumnMappings.Add("Column3");
bulk.BulkMerge(dt);
SqlBulkCopy используется только для вставки записей, а не для их обновления, как описано здесь . Вам нужно будет использовать другой метод для массовых обновлений.
например, вы можете SqlBulkCopy в промежуточную таблицу, а затем запустить некоторый SQL для обновления оттуда до основной таблицы.