Entity Framework Erstellen von Historientabellen für Entitäten

8

Wir möchten für jede unserer Entitäten eine Verlaufstabelle erstellen. Gibt es eine Möglichkeit, Entity-Framework die History-Entitäten / Tabellen automatisch zu erstellen, wenn die vorhandenen Entitäten vorhanden sind?

Zum Beispiel hätte die Entität Customer eine Schattenverlaufstabelle namens CustomerHistory . Wann immer es eine Bearbeitung oder Löschung gibt, wird der alte Datensatz in die Verlaufstabelle eingefügt. Die Haupttiteltabelle enthält immer den aktuellen Datensatz.

Da wir mehrere Entitäten haben, würde ich lieber keine separate History-Entität und Repository für jede Entität erstellen müssen, um die Entitäten zu verdoppeln.

Wir möchten dies für alle unsere Einheiten tun, um transaktionale und zeitliche Änderungen an den Entitäten zu verfolgen.

Wir verwenden die Arbeitseinheits- und Repository-Muster.

Nehmen Sie an, dass die Eigenschaften der Objekte Entity und EntityHistory identisch wären, obwohl wir das History-Objekt möglicherweise mit einigen Datetime-Eigenschaften erweitern möchten.

Ich verstehe, wie man überschreibe DbContext.SaveChanges , um in History / Audit-Tabellen zu schreiben .

Was ich vermeiden möchte, ist die Erstellung doppelter historischer Entitäten / Repositories für jede Entität, die wir haben.

Ich untersuche gerade etwas in OnModelCreating , um eine Geschichte-Entity für jede Entität zu erstellen, habe aber kein gutes Beispiel gefunden.

Irgendwelche Ideen?

    
Cameron 12.12.2012, 00:44
quelle

0 Antworten

Tags und Links