Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memasukkan Data Secara Pukal dari Senarai ke dalam Pelayan SQL Menggunakan SqlBulkCopy dengan Cekap?

Bagaimanakah Saya Boleh Memasukkan Data Secara Pukal dari Senarai ke dalam Pelayan SQL Menggunakan SqlBulkCopy dengan Cekap?

Patricia Arquette
Patricia Arquetteasal
2024-12-30 13:44:18556semak imbas

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

Memasukkan Data daripada Senarai Menggunakan SqlBulkCopy

Apabila berhadapan dengan tugas untuk melaksanakan pemasukan pukal menggunakan SqlBulkCopy daripada senarai generik, ia adalah lumrah untuk mempertimbangkan untuk melaksanakan IDataReader tersuai. Walau bagaimanapun, terdapat penyelesaian yang lebih cekap dan mudah menggunakan perpustakaan FastMember.

Penyelesaian dengan FastMember

FastMember menyediakan kelas berkuasa dipanggil ObjectReader yang memudahkan proses menukar senarai objek ke dalam pembaca data. Begini cara anda boleh menggunakannya:

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

Dalam contoh ini, data ialah senarai objek yang mengandungi sifat "Id," "Nama" dan "Penerangan."

ObjectReader boleh juga berfungsi dengan sumber data bukan generik, dan nama ahli tidak perlu dinyatakan terlebih dahulu. Walau bagaimanapun, jika anda tidak menyatakannya dalam ObjectReader, anda mungkin mahu menggunakan aspek ColumnMappings SqlBulkCopy untuk menentukan pemetaan antara sifat objek dan lajur destinasi.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan Data Secara Pukal dari Senarai ke dalam Pelayan SQL Menggunakan SqlBulkCopy dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn