首頁 >資料庫 >mysql教程 >如何使用 SqlBulkCopy 有效率地將清單中的資料批次插入 SQL Server 中?

如何使用 SqlBulkCopy 有效率地將清單中的資料批次插入 SQL Server 中?

Patricia Arquette
Patricia Arquette原創
2024-12-30 13:44:18565瀏覽

How Can I Efficiently Bulk Insert Data from a List into SQL Server Using SqlBulkCopy?

使用SqlBulkCopy 從清單插入資料

當面臨使用SqlBulkCopy 從通用清單執行批次插入的任務時,這是很自然的考慮實作自訂IDataReader。然而,使用 FastMember 庫有一個更有效率、更方便的解決方案。

FastMember 解決方案

FastMember 提供了一個名為 ObjectReader 的強大類,它簡化了列表轉換的過程將物件放入資料讀取器中。使用方法如下:

using(var bcp = new SqlBulkCopy(connection))
using(var reader = ObjectReader.Create(data, "Id", "Name", "Description"))
{
    bcp.DestinationTableName = "SomeTable";
    bcp.WriteToServer(reader);
}

在此範例中,資料是包含屬性「Id」、「名稱」和「描述」的物件清單。

ObjectReader 可以也可以使用非通用資料來源,且無需事先指定成員名稱。但是,如果您未在 ObjectReader 中指定它們,則可能需要使用 SqlBulkCopy 的 ColumnMappings 方面來定義物件屬性和目標列之間的對應。

以上是如何使用 SqlBulkCopy 有效率地將清單中的資料批次插入 SQL Server 中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn