Non puoi ottenerlo senza chiamare SaveChanges() . Pensaci. L'ID viene dal DB. SaveChanges() è la prima cosa che causa la comunicazione con il DB.
Se vuoi annullare, hai diverse scelte:
- In molti casi, non è necessario conoscere l'ID lato client durante l'inserimento. Basta creare la relazione.
- Utilizza un ID generabile dal client come un GUID.
- Utilizza
TransactionScopeper una transazione DB "reale". - Esegui un annullamento (
DeleteObject) invece di un rollback.