如何使SqlBulkCopy与MS Enterprise Library一起使用?

时间:2010-07-28 17:10:04

标签: enterprise-library sqlbulkcopy

我有一些使用SqlBulkCopy的代码。现在我们重构我们的代码以使用Enterprise Library数据库函数而不是标准函数。问题是如何实例化SqlBulkCopy?它接受SqlConnection,我只有DbConnection。

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

1 个答案:

答案 0 :(得分:8)

非常简单,我们就这样使用它,它完美无缺:

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

解决方案是转换连接:(SqlConnection) connection