Du kan ikke få det uden at kalde SaveChanges() . Tænk over det. ID'et kommer fra DB. SaveChanges() er den første ting, der forårsager kommunikation med DB.
Hvis du vil fortryde, har du flere valgmuligheder:
- I mange tilfælde behøver du ikke at kende ID-klientsiden, når du indsætter. Det er nok at skabe relationen.
- Brug et klientgenererbart ID som en GUID.
- Brug
TransactionScopefor en "rigtig" DB-transaktion. - Fortryd (
DeleteObject) i stedet for en tilbagerulning.