Dosier-DB-Befehle in Entity Framework 4.0

Mein Aktuelles Projekt erfordert tägliche Synchronisation mit externen system. Die Synchronisation basiert auf komplexen import-Datei-Struktur, die analysiert und verarbeitet, mit umfangreichen business-Logik. Aufgrund der business-Logik haben wir beschlossen, diese in .NET-code und die Wiederverwendung der vorhandenen BL-Komponenten anstelle von schreiben der gleichen Logik in stored procedures oder integration services.

Die BL-Schicht befindet sich oberhalb von EF 4.0 data access layer. Die aktuelle Implementierung der import-batch, erfüllt alle änderungen in ObjectContext und führt SaveChanges in der Transaktion. Wenn ich den SQL profiler sehe ich, dass EF führt jede Entität ändern, wie einzelne SQL-Befehl (mit einem eigenen hin-und Rückreise zum DB). Außerdem sieht es aus wie diese Befehle ausgeführt werden voll sequenziell. So habe ich bis zu 100.000 roundtrips zur Datenbank für den ersten import und zwischen 10.000 - 50.000 roundtrips zur Datenbank für die tägliche Synchronisation.

Ist es möglich batch-insert/update/delete-Befehle irgendwie von EF selbst oder durch einen Anbieter /- Erweiterung?

Schreibe einen Kommentar