Hallo!
Bin Neuling mit dem Entity Framework und stehe vor dem folgenden Problem:
Und zwar habe ich ein Grid in dem alle meine Bestellungen angezeigt werden und einen Button: [Bearbeiten] der wiederum eine zweite Form öffnet.
Mit der zweiten Form soll der Benutzer die ausgewählte Bestellung bearbeiten können.
Wie genau mache ich das jetzt am besten?
Hier mal meine Gedanken:
A) Ich übergebe der zweiten Form das Entity Objekt "Bestellung" mit und verwende Databinding.
Nachteil: Der Benutzer hat ja nach dem ändern der Bestellung noch nicht Wahl zwischen: [Speichern] oder [Abbrechen].
Mache ich das ganze aber mit Databinding, dann ändere ich die Entität sofort und beim [Abbrechen] muss diese wieder "mühselig" zurückgesetzt werden:
C#-Quelltext
1: 2:
| if (this.ShowDialog() == System.Windows.Forms.DialogResult.Cancel) context.Refresh(System.Data.Objects.RefreshMode.StoreWins, bestellung); |
Des weiteren glaube ich, dass man die Entitäten erst dann beschreiben soll, wenn auch wirklich die Daten geändert werden sollen.
B) Ich übergebe der zweiten Form das Entity Objekt "Bestellung" mit und verwende NICHT Databinding.
Vorteil: Ich schreibe die Werte erst dann auf die Entität sobald auf [Speichern] geklickt wird.
Nachteil:
Wie kann ich jetzt aber in der zweiten Form die Master-Details anzeigen und bearbeiten lassen?
Wenn ich z.b. eine Bestellposition lösche, dann weiß dass meine Entität anschließend nicht!
Im Anhang ein Screenshot der Beispiel-Anwendung.
Vielen Dank für eure Hilfe!