Sto usando il seguente codice per inserire i record di una tabella in SQL Server 2014modo migliore per fare gli inserimenti di massa utilizzando dapper.net
using (SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["myConnString"]))
{
conn.Execute("INSERT statement here", insertList);
}
Il insertList
è una lista che ha 1 milione di articoli in esso. Ho testato questo inserto su un desktop i5 e ci sono voluti circa 65 minuti per inserire un milione di record su SQL Server sullo stesso computer. Non sono sicuro di quanto stia facendo gli inserti dietro le quinte. Non voglio certo aprire e chiudere la connessione al database un milione di volte!
È questo il modo migliore per fare inserimenti di massa in dapper o dovrei provare qualcos'altro o andare con semplice ADO.Net utilizzando la libreria Enterprise?
EDIT
Col senno di poi, lo so utilizzando ADO.Net sarà meglio, così sarà riformulare la mia domanda. Mi piacerebbe ancora sapere se questo è il migliore che può fare il dapper o mi sto perdendo un modo migliore di farlo dapper in sé?
[A inserimento di massa] (https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.aspx) funziona con un 'IDataReader' ... in modo che il principale la sfida è creare uno schema e un dataReader che dia accesso ai nomi delle colonne alle proprietà ... –
usa una sp e passa l'elenco al tipo di tabella definito dall'utente nel DB –
https://github.com/tmsmith/Dapper-Extensions/ issues/18: http://stackoverflow.com/questions/9946287/correct-method-of-deleting-over-2100-rows-by-id-with-dapper/9947259#9947259 (che ha lo svantaggio principale di creare un mostro di memoria chiamato 'DataTable' ...) –