나는 내 마음에 꽤 오랜 시간 동안이 생각을 가지고 있고 나는 여전히 어떤 대답도 찾을 수 없다. 내 DbContext는 UnitOfWork 클래스에 의해 처리됩니다. 그래서 나는 savechanges가 발생하는 한 곳을 가지며 그 모든 불쾌한 예외를 잡아서 한 곳에서 처리합니다.엔티티 프레임 워크 예외
그러나 널리 알려져 있기 때문에 DbContext는 SaveChanges() 메서드 이외의 다른 위치에 다른 유형의 예외를 throw 할 수 있습니다. 예를 들어 엔티티를 구체화 할 때. 그러나 이것은 많은 곳에서 발생할 수 있으며, 모든 FirstOrDefault() 또는 ToList() 호출에서 try catch 블록을 작성하고 예외를 포착하고 다시 throw하는 것은 종종 오버 헤드입니다. 이 예외는 SQL 형식 일 수 있습니다. 즉, 연결을 열 수 없거나 EntityCommandExecutionException 또는 기타를 의미 할 수 있습니다.
그래서 거기에 예외가 발생하면 DbContext 개체를 발생시키는 모든 이벤트가 궁금 해서요, 그래서 해당 이벤트에 가입하고 이러한 시나리오에서 일부 논리를 처리 할 수 있습니다. :)
우선, 답변 해 주셔서 감사합니다. 이 경우 시간 제한과 같은 예외를 처리하는 방법에 대한 링크 나 키워드를 제공하십시오. 중앙 집중식으로 연결 (DbUpdate 및 동시성 옆의 다른 탭)을 열 수 없습니다. – vuckovikmarko
여기에 몇 가지 아이디어가 있습니다. (http://stackoverflow.com/questions/3699799/is-there-a-centralised-error-handling-process-in-c-sharp) 결론은 다음과 같습니다. 당신이 거품을 내고 싶지 않은 곳에서 그들을 처리하십시오, 그래서 당신은 항상'try-catch' 블록을 가질 것입니다. –