खोज…


टिप्पणियों

WriteToServer और WriteToServerAsync पास ओवरलोड हैं जो बल्क कॉपी के डेटा के स्रोत के रूप में IDataReader (उदाहरणों में देखे गए), DataTable और DataRow सरणियों ( DataRow[] ) को स्वीकार करते हैं।

Async बल्क कॉपी

यह नमूना यहाँ वर्णित एक ToDataReader विधि का उपयोग करता है जो SqlBulkCopy के लिए एक सामान्य सूची DataReader ToDataReader

यह गैर-एस्किंस विधियों का उपयोग करके भी किया जा सकता है।

public class Widget
{
    public int WidgetId {get;set;}
    public string Name {get;set;}
    public int Quantity {get;set;}
}

public async Task AddWidgets(IEnumerable<Widget> widgets)
{
    using(var conn = new SqlConnection("{connection string}")) {
        await conn.OpenAsync();

        using(var bulkCopy = new SqlBulkCopy(conn)) {
            bulkCopy.BulkCopyTimeout = SqlTimeoutSeconds;
            bulkCopy.BatchSize = 500;
            bulkCopy.DestinationTableName = "Widgets";
            bulkCopy.EnableStreaming = true;

            using(var dataReader = widgets.ToDataReader())
            {
                await bulkCopy.WriteToServerAsync(dataReader);
            }
        }
    }
}

थोक प्रति

यह नमूना यहाँ वर्णित एक ToDataReader विधि का उपयोग करता है जो SqlBulkCopy के लिए एक सामान्य सूची DataReader ToDataReader

यह भी async विधियों का उपयोग करके किया जा सकता है।

public class Widget
{
    public int WidgetId {get;set;}
    public string Name {get;set;}
    public int Quantity {get;set;}
}

public void AddWidgets(IEnumerable<Widget> widgets)
{
    using(var conn = new SqlConnection("{connection string}")) {
        conn.Open();

        using(var bulkCopy = new SqlBulkCopy(conn)) {
            bulkCopy.BulkCopyTimeout = SqlTimeoutSeconds;
            bulkCopy.BatchSize = 500;
            bulkCopy.DestinationTableName = "Widgets";
            bulkCopy.EnableStreaming = true;

            using(var dataReader = widgets.ToDataReader())
            {
                bulkCopy.WriteToServer(dataReader);
            }
        }
    }
}


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow