Wie erhält man eine neue Datensatz-ID beim Erstellen eines Audit-Trails?
public override saveChanges(){
var changeList = tracker.detectChange();
foreach(var change in changeList){
switch(change.state){
case ADD: ...
case MODIFIED: ...
}
}
base.saveChanges();
}
I haben die Struktur obige Code (nur für Pseudo-Code Idee darstellt) der Prüfpfad Schaffung Änderungen speichern.
Das einzige Problem ist, dass ich nicht den neu hinzugefügte Datensatz-ID erhalten kann als saveChanges
noch nicht genannt worden, aber wenn ich saveChanges
vorher anrufen, dann könnte der Tracker nicht die Änderungen verfolgt, wie ALL Zustand der Einträge unchanged
werden wird !
Wie kann ich die Änderungen noch verfolgen, während ich die neue Datensatz-ID erhalte?
EDITED
Grund, warum ich den neuen Datensatz ID bekommen haben, wie Sie sich vorstellen können, ist ein Audit-Trail Datensatz in der DB zu speichern. Aus irgendeinem Grund muss es ein XML-Dokument sein, das die ID der Entität, den ursprünglichen Wert & neuen Wert speichert (und einige andere Dinge, die nicht von Belang sind).
Say für eine neu hinzugefügte "Item" in der Item-Tabelle in DB, muss ich einen neuen Audit-Trail-Datensatz, der mindestens diese neue "Item" ID, ursprünglichen Wert (der null ist) und neue Wert.
Können Sie erklären, was Sie mit der neuen Datensatz-ID erreichen möchten? – wonderbell
Verwenden Sie 'EntityFramework'? – StepUp
@wonderbell Bitte siehe bearbeitet. – shole