Dapper.NET
थोक आवेषण
खोज…
टिप्पणियों
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