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