Entity Framework

Hola foreros.
Quería preguntarles a cuantos de ustedes les han pedido que en que un conjunto de operaciones con Entity Framework sean transaccionales y cuantos se han encontrado con el problema de insertar una fila con la misma llave que acabas de borrar (lo cual es importante poder hacerlo en mis casos de uso). Esto da un error tanto si usas todas las operaciones en local y al final das un SaveChange() como si estás conectado y lo haces directo contra la base de datos. Si tienes un borrado y lo haces primero que el adicionar pero no salvas entre medias, es como si hiciera el insert antes que el borrado y esto da un error de llave duplicada. Más o menos este es el caso.
Si alguien tiene otro consejo que no sea salvar entre medias (porque no es lo que se quiere, se hace todo o nada) que comente. Y gracias por cualquier respuesta. Saludos