Como recuperar valores de identidade gerados pelo servidor ao usar SqlBulkCopy

Eu sei que posso fazer uma inserção em massa na minha tabela com uma coluna de identidade, não especificando oSqlBulkCopyOptions.KeepIdentity como mencionadoaqui.

O que eu gostaria de poder fazer é obter os valores de identidade que o servidor gera e colocá-los na minha tabela de dados ou mesmo em uma lista. eu viesta post, mas quero que meu código seja geral e não posso ter uma coluna de versão em todas as minhas tabelas. Todas as sugestões são muito apreciadas. Aqui está o meu código:

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);
    }
}

questionAnswers(2)

yourAnswerToTheQuestion