Você não pode obtê-lo sem chamar
SaveChanges()
. Pense nisso. O ID vem do banco de dados. SaveChanges()
é a primeira coisa que causa a comunicação com o DB. Se você quiser desfazer, você tem várias opções:
- Em muitos casos, você não precisa saber o ID do lado do cliente ao inserir. Basta criar o relacionamento.
- Use um ID gerável pelo cliente, como um GUID.
- Usar
TransactionScope
para uma transação de banco de dados "real". - Faça um desfazer (
DeleteObject
) em vez de uma reversão.