2012-08-03 3 views
0

저는 Entity 프레임 워크를 사용하여 데이터베이스와 상호 작용하는 서비스 계층 응용 프로그램을 작성하고 있습니다.블록을 사용하는 엔터티 프레임 워크 컨텍스트

내 개인적인 "작업 단위"를 내 데이터 컨텍스트를 초기화하는 using 블록에 포함합니다.

그러나 내 서비스 응용 프로그램을 사용하는 응용 프로그램에 데이터베이스 오류를 전달하려면 몇 가지 예외를 throw해야합니다. 그래서 저는 다음과 같이하고 있습니다 :

using (dbcontext = new DbContext()) 
{ 
throw new Exception("Error while Saving data"); 
} 

누구나 확인할 수 있습니까? 예외가 throw 된 후에도 Entity Framework 데이터 컨텍스트가 올바르게 처리되지 않을까요?

답변

1

예. using 블록은 finally 블록 내부에 폐기 논리로 컴파일 할 때 try/finally 블록으로 변환됩니다.

Dispose 메서드가 예외를 throw하면 예외가 throw되지 않습니다.

1

예. 정확합니다. MSDN에서 :

사용하여 A 문은 예외가 발생하고 제어 잎 명령문 블록 명령문의 끝 이전되는 경우 사용 문장의 끝에 도달되거나 어느 때 종료 될 수있다.

즉, Exception보다 구체적인 예외가 발생합니다.

+0

감사합니다. Ken. 네, 사실 더 구체적인 예외를 사용합니다 :) – gunnerz

관련 문제