¿Cómo hago que SqlBulkCopy funcione con MS Enterprise Library?

enterprise-library sqlbulkcopy

Pregunta

Tengo un código que utiliza SqlBulkCopy. Y ahora estamos refactorizando nuestro código para usar las funciones de la base de datos de Enterprise Library en lugar de las estándar. La pregunta es ¿cómo puedo crear una instancia de SqlBulkCopy? Acepta SqlConnection, y solo tengo DbConnection.

var bulkCopy = new SqlBulkCopy(connection)  // here connection is SqlConnection
{
    BatchSize = Settings.Default.BulkInsertBatchSize,
    NotifyAfter = 200,
    DestinationTableName = "Contacts"
};

Respuesta aceptada

Realmente fácil, lo usamos así y funciona perfectamente:

using (DbConnection connection = db.CreateConnection())
{
    connection.Open();
    //blah blah

    //we use SqlBulkCopy that is not in the Microsoft Data Access Layer Block.
    using (SqlBulkCopy copy = new SqlBulkCopy((SqlConnection) connection, SqlBulkCopyOptions.Default, null))
    {
        //init & write blah blah
    }
}

La solución es lanzar la conexión: (SqlConnection) connection



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué