Soalan: Cara memasukkan sebilangan besar rekod dengan cekap daripada Senarai<> objek mudah menggunakan SqlBulkCopy?
Jawapan:
Untuk mengoptimumkan sisipan pukal, pertimbangkan untuk menggunakan perpustakaan FastMember. Pendekatan ini mengelakkan overhed DataTable dengan terus menstrim data daripada senarai objek. Begini caranya:
using(var bcp = new SqlBulkCopy(connection)) using(var reader = ObjectReader.Create(data, "Id", "Name", "Description")) { bcp.DestinationTableName = "SomeTable"; bcp.WriteToServer(reader); }
ObjectReader membolehkan anda bekerja dengan sumber data bukan generik dan menentukan nama ahli secara dinamik. Walau bagaimanapun, menyatakan nama ahli terlebih dahulu meningkatkan prestasi. Selain itu, anda boleh memanfaatkan ciri ColumnMappings SqlBulkCopy untuk menyesuaikan pemetaan lajur.
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Set Data Besar dengan Cekap daripada Senarai menggunakan SqlBulkCopy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!