Как получить сгенерированные сервером значения Identity при использовании SqlBulkCopy
Я знаю, что могу выполнить массовую вставку в свою таблицу с помощью столбца идентификаторов, не указавSqlBulkCopyOptions.KeepIdentity
как уже упоминалосьВот.
То, что я хотел бы сделать, это получить значения идентификаторов, которые генерирует сервер, и поместить их в мою таблицу данных или даже в список. Я виделэтот опубликовать, но я хочу, чтобы мой код был общим, и у меня не может быть столбца версии во всех моих таблицах. Любые предложения очень ценятся. Вот мой код:
public void BulkInsert(DataTable dataTable, string DestinationTbl, int batchSize)
{
// Get the DataTable
DataTable dtInsertRows = dataTable;
using (SqlBulkCopy sbc = new SqlBulkCopy(sConnectStr))
{
sbc.DestinationTableName = DestinationTbl;
// Number of records to be processed in one go
sbc.BatchSize = batchSize;
// Add your column mappings here
foreach (DataColumn dCol in dtInsertRows.Columns)
{
sbc.ColumnMappings.Add(dCol.ColumnName, dCol.ColumnName);
}
// Finally write to server
sbc.WriteToServer(dtInsertRows);
}
}