Dengan FastMember, Anda dapat melakukannya tanpa harus melalui DataTable
(yang, dalam pengujian saya, kinerjanya lebih dari dua kali lipat):
using(var bcp = new SqlBulkCopy(connection))
using(var reader = ObjectReader.Create(data, "Id", "Name", "Description"))
{
bcp.DestinationTableName = "SomeTable";
bcp.WriteToServer(reader);
}
Perhatikan bahwa ObjectReader
juga dapat bekerja dengan sumber non-generik, dan tidak perlu menentukan nama anggota terlebih dahulu (walaupun Anda mungkin ingin menggunakan ColumnMappings
aspek SqlBulkCopy
jika Anda tidak menentukannya di ObjectReader
sendiri).