Разве это не блокирует абстракцию над базой данных? Что бы сделал код, если бы это был не SQL-сервер? Лично я не думаю, что имеет смысл смысл инкапсулировать это в универсальную (и независимую от базы данных) библиотеку.
Также; это довольно базовая функциональность, поэтому у вас не должно возникнуть никаких проблем при написании метода для базового сценария, который принимает строку подключения, имя таблицы и IDataReader
/ DataTable
. При нетривиальном использовании он имеет множество параметров конфигурации (сопоставление столбцов, события и т. Д.) И, вероятно, не требует переноса.
Если честно, хотя я использую SqlBulkCopy
, я не использую его достаточно часто (или достаточно похожим образом), чтобы оправдать его сокрытие. Возможно, просто используйте SqlBulkCopy
непосредственно в вашем хранилище / DAL / любой другой код?