Envoi d'encarts Entity Framework

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

Question

Je travaille sur un système de commande pouvant contenir entre 1 et 200 commandes. Nous avons actuellement une boucle qui parcourt chaque commande et l'insère dans la base de données. Serait-il judicieux d'utiliser SqlBulkCopy? Son utilisation dégraderait-elle les performances sur les petites commandes? Existe-t-il d'autres techniques pour accélérer les insertions?

Merci!

Réponse acceptée

En gros, vous pouvez faire plusieurs choses.

  • en utilisant SqlBulkCopy.WriteToServer qui ne fonctionne pas très bien avec EF, cependant il y a plusieurs tentatives pour créer des extensions

  • en utilisant une procédure stockée qui prendra un gros disque et le divisera selon une certaine logique

  • en utilisant des paramètres de procédure stockée de type table et effectuez un appel à la procédure stockée (et plusieurs insert ... select à l'intérieur de la procédure stockée)

Globalement, je préfère la troisième option.

Cochez cette question Paramètre de valeur de la table de procédure stockée Entity Framework



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi