Batch-Operationen der Entity Framework-Erweiterung gegenüber den Massenoperationen von EFE

c# entity-framework-6 entity-framework-extensions entity-framework-plus

Frage

Ich habe Entity Framework-Erweiterungen für Bulk-Operationen untersucht, und ich habe von den gleichen Entwicklern EF Plus gefunden. Jetzt hat EFE Bulk-Operationen, die bezahlt werden, und EF PLus hat Batch-Operationen, die vorgeben, Bulk-Aktualisierungen durchzuführen und nur zu löschen, aber Batch-Operationen genannt werden. Worin besteht der Unterschied zwischen den Massenoperationen der EFE und EF plus Batch-Operationen?

Akzeptierte Antwort

Haftungsausschluss : Ich bin der Eigentümer des Projekts Entity Framework Extensions

Haftungsausschluss : Ich bin der Eigentümer des Projekts Entity Framework Plus

Es gibt einen großen Unterschied zwischen den Methoden, die Bulk Operation und Batch Operation .

Batch-Betrieb

Die Bach-Operation führt eine Operation in der Datenbank aus, ohne Daten in den Kontext zu laden. Kurz gesagt, alles geschieht auf der Datenbankseite.

Beide Bibliotheken unterstützen es und es wird schließlich in einer Bibliothek unterstützt (kostenlos, unabhängig von der Entscheidung der Bibliothek)

In EFE werden Methoden benannt:

  • LöschenFromQuery
  • UpdateFromQuery

In EF + werden Methoden benannt:

  • Löschen
  • Aktualisieren

Massenbetrieb

Bulk Operation existiert nur in EFE. Sie sind unmittelbare Operationen, die eine Liste von Entitäten aufnehmen und sie mit der Datenbank speichern.

  • Bulk SaveÄnderungen
  • Masseneinfügung
  • Massenlöschung
  • Bulk-Update
  • Massenzusammenführung

Beispiel

// Easy to use
context.BulkSaveChanges();

// Easy to customize
context.BulkSaveChanges(bulk => bulk.BatchSize = 100);

// Perform Bulk Operations
context.BulkDelete(customers);
context.BulkInsert(customers);
context.BulkUpdate(customers);

// Customize Bulk Operations
context.BulkInsert(customers, options => {
   options => options.IncludeGraph = true;
});
context.BulkMerge(customers, options => {
   options.ColumnPrimaryKeyExpression = 
        customer => customer.Code;
});



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum