В метода EFContextProvider (EF6) SaveChangesCore обработката на изключенията изглежда така:
} catch (Exception e) {
while (e.InnerException != null) {
e = e.InnerException;
}
throw e;
}
Това хвърля само най-вътрешното изключение и скрива съответната информация, разкрита от външните изключения.
Когато процесът SaveChanges преминава през множество слоеве, следващото изключение за директен слой се губи и се хвърля само последното изключение във веригата. Не позволява да се обработват добре изключенията за повикващия.