我有一些使用SqlBulkCopy的代码。现在我们重构我们的代码以使用Enterprise Library数据库函数而不是标准函数。问题是如何实例化SqlBulkCopy?它接受SqlConnection,我只有DbConnection。
var bulkCopy = new SqlBulkCopy(connection) // here connection is SqlConnection
{
BatchSize = Settings.Default.BulkInsertBatchSize,
NotifyAfter = 200,
DestinationTableName = "Contacts"
};
答案 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