Also ich habe es so gelöst:
1. Master-Record erstellen (intern, ohne in der
DB zu speichern). Die MasterID ist ein eindeutiger negativer Wert.
2. Detail-Daten erstellen, die Verknüpfung zum Master erfülgt über die eben erzeugte negative MasterID.
3. Beliebig viele weitere Master/Detail Daten erstellen. Jeder neue Master-Record hat eine eindeutige ID!
Nun zum Speichern:
1. Ich speichere alle Masterdaten: Wenn die ID < 0 ist (=INSERT-Operation), dann packe ich diese zusammen mit der von der
DB erzeugten in eine Liste.
2. Nun speichere ich alle Detaildaten: Wenn die MasterID < 0 ist, dann suche ich die echte
DB-ID in meiner Liste.