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

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

一般承認的答案

非常簡單,我們就這樣使用它並且它完美地工作:

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



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow