Espansione di Entity Framework Inserts

ado.net entity-framework sqlbulkcopy sql-server-2008

Domanda

Sto lavorando a un sistema di ordini che può contenere da 1 a 200+ ordini. In questo momento abbiamo un ciclo che scorre in ogni ordine e lo inserisce nel database. Avrebbe senso usare SqlBulkCopy? Lo userebbe degradare le prestazioni su piccoli ordini? Esistono altre tecniche per accelerare gli inserti?

Grazie!

Risposta accettata

Fondamentalmente ci sono molte cose che puoi fare.

  • usando SqlBulkCopy.WriteToServer che non funziona bene insieme a EF, tuttavia ci sono diversi tentativi di creare estensioni

  • usando una stored procedure che prenderà un grande record e lo dividerà secondo una logica

  • utilizzando i parametri di una stored procedure tipizzata da tabella e fai una chiamata alla stored procedure (e diversi insert ... select all'interno della stored procedure)

Nel complesso, preferisco la terza opzione.

Controlla questa domanda Entity Framework Stored Procedure Table Value Parameter



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow