Vi ved alle, at ef har dårlig understøttelse af batchoperationer; hvis du bruger ef til at indsætte flere datastykker i batches eller opdatere eller slette flere sætninger i batches, er det spild af tid, så hvordan optimerer man ef-operationer for store mængder data?
Ingen pjat, tag et screenshot først, der er ingen sammenligningstabelle før og efter optimering!
Statistik i tilfælde af indsættelse af de samme 3814 datastykker, og databasen er SQL Server
Før optimering:Gennemsnitstiden var 2479 sekunder
Efter optimering:Den gennemsnitlige tid var 149 sekunder
Indsættelseskoden for opkaldet er som følger:
Code før optimering:
Optimeret kode:
Anden testkode:
Optimeringsskema:
Vi bruger en tredjepartsudvidelse "Z.EntityFramework.Extensions", officiel hjemmeside: http://entityframework-extensions.net/
Introducere:
Entity Framework: Bulk Insert, BulkSaveChanges, Bulk Update, Bulk Delete, Bulk Merge og Bulk Sync.
Understøttelse: SQL Server, SQL Azure, SQL Compact, Oracle, MySQL, SQLite og PostgreSQL.
Dette bibliotek er ikke gratis. Prøveperioden slutter altid ved månedens udgang.
NuGet-installationskommando:
|