Nous savons tous que EF supporte mal les opérations batch ; si vous utilisez EF pour insérer plusieurs données en batches ou pour mettre à jour ou supprimer plusieurs instructions en batches, c’est une perte de temps, alors comment optimiser les opérations EF pour une grande quantité de données ?
Pas de bêtises, prenez d’abord une capture d’écran, il n’y a pas de tableau comparatif avant et après l’optimisation !
Statistiques dans le cas de l’insertion des mêmes 3814 données et la base de données est SQL Server
Avant l’optimisation :Le temps moyen était de 2479 secondes
Après optimisation :Le temps moyen était de 149 secondes
Le code d’insertion pour l’appel est le suivant :
Code avant optimisation :
Code optimisé :
Autres codes de test :
Schéma d’optimisation :
Nous utilisons une extension tierce « Z.EntityFramework.Extensions », page officielle : http://entityframework-extensions.net/
Introduire:
Structure d’entité : insertion en masse, BulkSaveChanges, mise à jour en masse, suppression en masse, fusion en masse et synchronisation en masse.
Prend en charge : SQL Server, SQL Azure, SQL Compact, Oracle, MySQL, SQLite et PostgreSQL.
Cette bibliothèque n’est pas gratuite. La période d’essai se termine toujours à la fin du mois.
Commande Nuget Install :
|