Moin,
ich habe ein DataSet mit mehreren Tabellen und Relationen. Irgendwann speichert man nach diversen Änderungen (Neuanlage, Löschen, Bearbeiten) und ruft dazu das .Validate() auf, ein .EndEdit() auf alle Bindingsources und lässt mit TableAdapterManager.UpdateAll() alles in der Datenbank (MySql) speichern.
Danach habe ich aber immer noch meine in den Tables des Datasets erzeugten Primärschlüssel von z.B. -1, -2 usw. in den Rows und nicht die Primärschlüssel aus der Datenbank, die ein AutoIncrement hat und daher andere Schlüssel anlegt (10, 20...).
Wie macht Ihr das, wenn Ihr im DataSet nicht noch eine Weile mit den negativen Schlüsseln weiterarbeiten wollt, sondern gerne die Schlüssel der Datenbank im Speicher haben möchtet?
Ich kann nach dem Speichern natürlich alle betroffenen Tabellen mit .Fill() wieder neu aus der DB holen, dann habe ich die DB-Primärschlüssel. So mache ich das aktuell auch.
Gibt es da auch eine andere Möglichkeit - irgendeine Einstellung, dass das TableAdapterManager.UpdateAll() die neuen Schlüssel automatisch aus der DB holt und in die Datensätze übernimmt?
Dass das in Ausnahmefällen für einzelne Datensätze mit LastInsertedID o.ä. geht, ist mir klar, aber damit will ich erst gar nicht anfangen - so highlevel und vom Framwerk unterstützt wie möglich.
Danke & einen schönen Tag noch!
Gruß
Michael
ich habe ein DataSet mit mehreren Tabellen und Relationen. Irgendwann speichert man nach diversen Änderungen (Neuanlage, Löschen, Bearbeiten) und ruft dazu das .Validate() auf, ein .EndEdit() auf alle Bindingsources und lässt mit TableAdapterManager.UpdateAll() alles in der Datenbank (MySql) speichern.
Danach habe ich aber immer noch meine in den Tables des Datasets erzeugten Primärschlüssel von z.B. -1, -2 usw. in den Rows und nicht die Primärschlüssel aus der Datenbank, die ein AutoIncrement hat und daher andere Schlüssel anlegt (10, 20...).
Wie macht Ihr das, wenn Ihr im DataSet nicht noch eine Weile mit den negativen Schlüsseln weiterarbeiten wollt, sondern gerne die Schlüssel der Datenbank im Speicher haben möchtet?
Ich kann nach dem Speichern natürlich alle betroffenen Tabellen mit .Fill() wieder neu aus der DB holen, dann habe ich die DB-Primärschlüssel. So mache ich das aktuell auch.
Gibt es da auch eine andere Möglichkeit - irgendeine Einstellung, dass das TableAdapterManager.UpdateAll() die neuen Schlüssel automatisch aus der DB holt und in die Datensätze übernimmt?
Dass das in Ausnahmefällen für einzelne Datensätze mit LastInsertedID o.ä. geht, ist mir klar, aber damit will ich erst gar nicht anfangen - so highlevel und vom Framwerk unterstützt wie möglich.
Danke & einen schönen Tag noch!
Gruß
Michael