FastMember के साथ, आप इसे DataTable . के माध्यम से जाने की आवश्यकता के बिना कर सकते हैं (जो, मेरे परीक्षणों में, प्रदर्शन को दोगुने से भी अधिक करता है):
using(var bcp = new SqlBulkCopy(connection))
using(var reader = ObjectReader.Create(data, "Id", "Name", "Description"))
{
bcp.DestinationTableName = "SomeTable";
bcp.WriteToServer(reader);
}
ध्यान दें कि ObjectReader गैर-सामान्य स्रोतों के साथ भी काम कर सकता है, और सदस्य-नामों को पहले से निर्दिष्ट करना आवश्यक नहीं है (हालाँकि आप शायद ColumnMappings का उपयोग करना चाहते हैं। SqlBulkCopy . का पहलू यदि आप उन्हें ObjectReader . में निर्दिष्ट नहीं करते हैं स्वयं)।