Vi vet alla att ef har dåligt stöd för batchoperationer, om du använder ef för att infoga flera datastycken i batcher eller uppdatera eller ta bort flera satser i batcher är det slöseri med tid, så hur optimerar man ef-operationer för en stor mängd data?
Inget struntprat, ta en skärmdump först, det finns ingen jämförelsetabell före och efter optimering!
Statistik i fallet med att infoga samma 3814 datadelar och databasen är SQL Server
Innan optimering:Genomsnittstiden var 2479 sekunder
Efter optimering:Genomsnittstiden var 149 sekunder
Infogkoden för samtalet är följande:
Koda före optimering:
Optimerad kod:
Annan testkod:
Optimeringsschema:
Vi använder en tredjepartstillägg "Z.EntityFramework.Extensions", officiell hemsida: http://entityframework-extensions.net/
Introducera:
Entity Framework: Bulkinsättning, BulkSaveChanges, Bulkuppdatering, Bulk-borttagning, Bulk-sammanslagning och Bulk-synkronisering.
Stöd: SQL Server, SQL Azure, SQL Compact, Oracle, MySQL, SQLite och PostgreSQL.
Det här biblioteket är inte gratis. Provperioden slutar alltid i slutet av månaden.
NuGet Install Command:
|