Hallo liebe Entwicklergemeinde,
ich brauche noch einmal euren gemeinschaftlichen Rat.
Ich implementiere eine Benutzerverwaltung in einer Businessschicht, wie auch in der Datenschicht. Dabei gibt es in der Businessschicht eine BenutzerCollection, die eine Fabrikmethode zur Konstruktion eines neuen Benutzers enthält. Die BenutzerCollection (IList<Benutzer>) hält im Hintergrund 1 typisiertes Dataset, welches alle Benutzer, die die Collection gerade verwaltet, enthält.
Wenn jetzt ein neuer Benutzer registriert werden soll, brauche ich eine BenutzerId (Primärschlüssel), um Daten nicht nur in die Haupttabelle (BenutzerDaten) eintragen zu können, sondern eben auch in weiteren Childtabellen. Soweit ich weiß, funktionieren die Get[ChildTabelle]Rows()-Methoden auch nur bei gesetztem Primärschlüssel, wie auch anders.
Die Registration eines Benutzers kann aber aus Gründen abgebrochen werden. In diesem Fall lösche ich über die Dispose-Methode (in der Benutzer-Klasse) wieder den Benutzer aus der Collection wie auch aus der Datenbank.
Ist das ein guter Entwurfsstil oder wie würde eine Alternative aussehen? Ich habe mal gelesen, wenn man Daten aus einer Tabelle löschen muss, hat man etwas falsch gemacht. Aber wie komme ich sonst zu einem Primärschlüssel und kann so die GetChildMethoden im Dataset nutzen?
Viele Grüße
Andreas Möhlenbrock
ich brauche noch einmal euren gemeinschaftlichen Rat.
Ich implementiere eine Benutzerverwaltung in einer Businessschicht, wie auch in der Datenschicht. Dabei gibt es in der Businessschicht eine BenutzerCollection, die eine Fabrikmethode zur Konstruktion eines neuen Benutzers enthält. Die BenutzerCollection (IList<Benutzer>) hält im Hintergrund 1 typisiertes Dataset, welches alle Benutzer, die die Collection gerade verwaltet, enthält.
Wenn jetzt ein neuer Benutzer registriert werden soll, brauche ich eine BenutzerId (Primärschlüssel), um Daten nicht nur in die Haupttabelle (BenutzerDaten) eintragen zu können, sondern eben auch in weiteren Childtabellen. Soweit ich weiß, funktionieren die Get[ChildTabelle]Rows()-Methoden auch nur bei gesetztem Primärschlüssel, wie auch anders.
Die Registration eines Benutzers kann aber aus Gründen abgebrochen werden. In diesem Fall lösche ich über die Dispose-Methode (in der Benutzer-Klasse) wieder den Benutzer aus der Collection wie auch aus der Datenbank.
Ist das ein guter Entwurfsstil oder wie würde eine Alternative aussehen? Ich habe mal gelesen, wenn man Daten aus einer Tabelle löschen muss, hat man etwas falsch gemacht. Aber wie komme ich sonst zu einem Primärschlüssel und kann so die GetChildMethoden im Dataset nutzen?
Viele Grüße
Andreas Möhlenbrock
Comment