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).