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!