Laden...

Wie komme ich per EntityFramework Triggers an den alten Datensatz?

Erstellt von Hopzy vor 4 Jahren Letzter Beitrag vor 4 Jahren 1.015 Views
H
Hopzy Themenstarter:in
8 Beiträge seit 2019
vor 4 Jahren
Wie komme ich per EntityFramework Triggers an den alten Datensatz?

Hallo,

ich schaue mir gerade die EntityFramework.Triggers Bibliothek an und frage mich, wie ich an den alten Datensatz komme?

Bei MySQL geht das bei den Triggers mit OLD. bzw. NEW. - wie geht das hier?

Kennt sich damit evtl. jemand aus? Oder muss man sich selbst darum kümmern? Stichwort ChangeTracker?

viele Grüße!

16.834 Beiträge seit 2008
vor 4 Jahren

Der Quellcode ist doch offen auf GitHub - schau ihn Dir doch einfach an 😃
Und so wie ich das direkt aus der Readme des Projekts entnehme, hast Du entsprechende Properties für Old und New

Triggers<Person>.Updated += e => Console.WriteLine("Updated " + e.Original.FirstName);
H
Hopzy Themenstarter:in
8 Beiträge seit 2019
vor 4 Jahren

Das hatte ich mir angeschaut, nur leider gibt's es das Property (Original) gar nicht.
Installiert habe ich das Package über den nuget manager (Verssion 6.1.1).

Zudem habe ich mir das hier angeschaut..

Wenn ich das so Anwende, dann wird mir lediglich immer der neue und nicht der alte Wert gezeigt.

Entity Property: Boolean IsActive;

Triggers<IEntity>.Updated += entry =>
{
	IEntity OLD = (IEntity)entry.Context.Entry(entry.Entity).OriginalValues.ToObject();
	
	Boolean OLD_IsActive = OLD.IsActive;
		
	Boolean OLD2_IsActive = entry.Context.GetOriginal(entry.Entity).IsActive;
	
	Boolean NEW_IsActive = entry.Entity.IsActive;
};

viele Grüße!

Hinweis von Abt vor 4 Jahren

Keine Full Quotes
[Hinweis] Wie poste ich richtig?

16.834 Beiträge seit 2008
vor 4 Jahren

Wenn das Sample des Projekts nicht funkioniert, dann mach ein Issue auf GitHub auf.