Benutzer mit den meisten Antworten
Frage zur Verwendung von Entity-Framework und Trigger bei der SQL-Server-Datenbank

Frage
-
Hallo
Ich hätte folgende Frage bzw. Problem - bei einer Applikation kommt das Entity-Framework zur Anwendung; bei der bestehenden Datenbank gibt es die Struktur, dass jede Tabelle 4 Spalten besitzt, die via Trigger befüllt oder geändert werden (- das sind Informationen für Zeile erstellt und Benutzer welcher die Daten erstellt hat / und das auch für die letzte Änderung DateTime und Benutzer).
Jetzt kommt das Problem vor, wenn via Applikation und EF. ein Datensatz geschrieben wird, stehen in den beiden Spalten (rowCreated, userCreated) die korrekten Daten (befüllt vom Trigger auf der Tabelle) - wird aber gleich anschließend in der Applikation der gleiche Datensatz abgeändert, werden die Felder rowCreated und userCreated wieder auf NULL gesetzt (und nur die beiden Spalten für den letzten Update stimmen).
Ist ja grundsätzlich logisch, denn die Information ist ja nicht beim Client angekommen - was die Datenbank via Trigger noch in die Tabelle/Zeile geschrieben hat.
Meine Frage -> wie kann ich in der Applikation die Information bekommen für die beiden Felder "rowCreated" und "userCreated"
-) nach dem Speichern (bei der Neu-Erstellung) den gleichen Datensatz gleich wieder einlesen ?
-) oder gibt es eine andere Refresh-Möglichkeit?
-) oder kann irgendwie im EF es eingestellt werden, dass diese Spalten (die via Trigger befüllt werden) gar nicht zurückgeschrieben werden in die Datenbank ? (Mapping ausschalten geht nicht, weil ich zumindest lesend die Informationen benötige)
Vielleicht hat hier jemand eine Idee, bzw. Information wie ich dieses Problem angehen könnte.
Vielen Dank schon mal & schönen Gruß
Michael
Michael Erlinger
Antworten
-
Hallo Michael,
wenn ich dich richtig verstanden habe, dann suchst du nach der Eigenschaft "StoreGeneratedPattern". Wenn du diese im EF-Model für die betroffenen Spalten/Properties auf "Computed" stellst, dann sollte das funktionieren.
Hier gibt es zusätzliche Infos:
http://msdn.microsoft.com/de-de/library/dd296755(v=vs.90).aspx
Gruß
Daniel
- Als Antwort markiert M.Erlinger Montag, 24. September 2012 13:44
Alle Antworten
-
Hallo Michael,
wenn ich dich richtig verstanden habe, dann suchst du nach der Eigenschaft "StoreGeneratedPattern". Wenn du diese im EF-Model für die betroffenen Spalten/Properties auf "Computed" stellst, dann sollte das funktionieren.
Hier gibt es zusätzliche Infos:
http://msdn.microsoft.com/de-de/library/dd296755(v=vs.90).aspx
Gruß
Daniel
- Als Antwort markiert M.Erlinger Montag, 24. September 2012 13:44