Знам, че мога да направя групово вмъкване в моята таблица с колона за самоличност, като не посочвам 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);
}
}