Wie mit Linq (deleted =true))

06/07/2009 - 12:28 von Peter Haus | Report spam
Hallo zusammen.

Ich suche gerade nach einer Lösung für folgendes Problem.
Wenn ein Datensatz gelöscht wird, soll nicht der Datensatz gelöscht
werden, sondern in einer Spalte "Deleted" = True gesetzt werden, um den
Datensatz als gelöscht zu markieren.

Bisher (DataTable) habe ich mir alle Datensàtze mit RowState gelöscht
gesucht gesucht, diese mit RejactChanges zurücksetzt und dann das
"deleted" Kennzeichen gesetzt.
Mit Linq to SQl (gerne wüsste ich auch ob und wie es mit Linq to
Entitys zu machen ist) fehlt mir der RowState, wobei der RowState ja
irgendwo im Hintergrund vorhanden sein muss. Aber wo und wie komme ich
drann?? Und wie làsst sich die Löschkennzeichnung zurücksetzen?

Hat mir jemand eine Idee?

Gruss an Alle
Peter
 

Lesen sie die antworten

#1 Carl-Christian Schaffert
06/07/2009 - 13:46 | Warnen spam
Hallo Peter,

"Peter Haus" schrieb im Newsbeitrag
news:uOHn$Ri$
Hallo zusammen.

Ich suche gerade nach einer Lösung für folgendes Problem.
Wenn ein Datensatz gelöscht wird, soll nicht der Datensatz gelöscht
werden, sondern in einer Spalte "Deleted" = True gesetzt werden, um den
Datensatz als gelöscht zu markieren.

Bisher (DataTable) habe ich mir alle Datensàtze mit RowState gelöscht
gesucht gesucht, diese mit RejactChanges zurücksetzt und dann das
"deleted" Kennzeichen gesetzt.
Mit Linq to SQl (gerne wüsste ich auch ob und wie es mit Linq to Entitys
zu machen ist) fehlt mir der RowState, wobei der RowState ja
irgendwo im Hintergrund vorhanden sein muss. Aber wo und wie komme ich
drann?? Und wie làsst sich die Löschkennzeichnung zurücksetzen?

Hat mir jemand eine Idee?



Ideen gibt es hier jede Menge ;-)

Schaue dir mal das an:
http://msdn.microsoft.com/de-de/lib...state.aspx

und das:
http://msdn.microsoft.com/de-de/lib...38497.aspx

und wenn du ein wenig nach den Schlagwörtern googelst wirst du ne Menge
Samples dazu finden.

Ansonsten wàre noch darüber nachzudenken, sofern dein Vorhaben einem
Auditing dient, dies mit einem OnDelete-Trigger direkt in der Datenbank zu
erledigen. Wobei hier dann auch über ein entsprechend geeignetes
Datenbank-Design nachzudenken wàre.

Gruß Carl

Ähnliche fragen