No puede obtenerlo sin llamar a SaveChanges() . Piénsalo. El ID proviene de la base de datos. SaveChanges() es lo primero que provoca la comunicación con la base de datos.
Si desea deshacer, tiene varias opciones:
- En muchos casos, no es necesario conocer el ID del lado del cliente al realizar la inserción. Simplemente crear la relación es suficiente.
- Utilice una ID generable por el cliente como un GUID.
- Usar
TransactionScopepara una transacción de base de datos "real". - Deshacer (
DeleteObject) en lugar de una reversión.