एक सूची 1 लाख उस में आइटम नहीं है कि dapper.net का उपयोग कर रहा एसक्यूएल सर्वर 2014सबसे अच्छा तरीका है
using (SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["myConnString"]))
{
conn.Execute("INSERT statement here", insertList);
}
insertList
में एक मेज के रिकॉर्ड डालने के लिए निम्नलिखित कोड का उपयोग कर रहा है थोक आवेषण क्या करना है। मैंने एक आई 5 डेस्कटॉप पर इस सम्मिलन का परीक्षण किया और उसी मशीन पर SQL सर्वर में लाखों रिकॉर्ड डालने में लगभग 65 मिनट लग गए। मुझे यकीन नहीं है कि दृश्यों के पीछे आक्रमण कैसे कर रहा है। मैं निश्चित रूप से डेटाबेस कनेक्शन को दस लाख बार खोलना और बंद नहीं करना चाहता!
क्या यह डैपर में थोक आवेषण करने का सबसे अच्छा तरीका है या क्या मुझे कुछ और करने की कोशिश करनी चाहिए या एंटरप्राइज़ लाइब्रेरी का उपयोग करके सादे ADO.Net के साथ जाना चाहिए?
संपादित
मसा में, मैं ADO.Net का उपयोग कर बेहतर होगा पता है, तो मेरे सवाल का अलग तरीके से व्यक्त करेंगे। मैं अभी भी जानना चाहूंगा कि यह सबसे अच्छा है कि डैपर क्या कर सकता है या क्या मैं इसे डैपर में करने का बेहतर तरीका खो रहा हूं?
[एक थोक डालने] (https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.aspx) एक 'IDataReader' ... इसलिए मुख्य साथ काम करता है चुनौती एक योजना और डेटा रीडर बनाना है जो गुणों के लिए कॉलम नामों के साथ पहुंच प्रदान करता है ... –
डीबी –
में उपयोगकर्ता परिभाषित तालिका प्रकार में एक एसपी और पास सूची का उपयोग करें https://github.com/tmsmith/Dapper-Extensions/ मुद्दे/18: http://stackoverflow.com/questions/9946287/correct-method-of-deleting-over-2100-rows-by-id-with-dapper/9947259#9947259 (जिसमें एक बनाने का प्रमुख नकारात्मक पक्ष है मेमोरी-राक्षस 'डेटाटेबल' कहा जाता है ...) –