L’uso di transazioni nell’ EF alcune volte può richiedere una gestione custom. Sebbene nella maggior parte dei casi è il framework stesso a gestire le transazioni per noi ( es. ogni volta che aggiungiamo/ modifichiamo/eliminiamo un’entity tramite il metodo SaveChanges() ), in alcune situazioni particolari si potrebbe richiedere la gestione dello 'scope' transazionale a mano. Una di queste situazioni si presenta ad esempio quando si lavora con ObjectContext multipli: infatti, in casi di questo tipo si può ricorrere all'utilizzo di un "ambiente" esterno all’EF ( es. System.Transactions ) da cui partire anche per implementare una propria strategia di recovery.
Entriamo nel merito:
Se invochiamo SaveChanges() o SaveChanges(true), l’EF applica i cambiamenti e scarta...