Вставить массив в таблицу с помощью SqlBulkCopy - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть таблица с двумя столбцами Id и Name.Где ID - это автоинкрементный первичный ключ.Мой массив может содержать пару сотен элементов, поэтому я не хочу использовать какой-либо цикл.Мой код выглядит так:

DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Name", typeof(string)));
foreach (string item in arrItems)
    dt.Rows.Add(item);

using (SqlBulkCopy bc = new SqlBulkCopy(connection, DB2BulkCopyOptions.KeepIdentity))
{   
    bc.DestinationTableName = destinationTableName;
    bc.ColumnMappings.Add("Name", "Name");
    bc.WriteToServer(dt);
}

Я написал свой код таким образом.Есть ли способ вставить данные из массива (без создания таблицы)?

1 Ответ

0 голосов
/ 19 ноября 2018

Вы можете создать класс, который обернет ваш массив и реализует IDataReader.Экземпляр этого класса можно передать методу WriteToServer в SqlBulkCopy.

...