2013-10-23 2 views
0

Breeze 서버 측에서 BeforeSaveEntities에 대한 사용자 정의 재정의를 테스트하고 있습니다. 나는 saveMap을 관찰하고있는 breakpoint를 가지고 있으며, EFContextProvider의 하위 클래스에있는 메소드를 호출하여 저장할 각각의 엔티티를 반복한다.디버그 중지를 클릭해도 savechanges가 계속됩니다.

Visual Studio에서 디버그 중지 단추를 클릭하면 저장 여전히 발생합니다. BeforeSaveEntities 리턴에서 리턴 된 값을 원래 saveMap을 Null로 되 돌리는 것으로 변경하면, 변경되지 않습니다.

"소프트"삭제를 수행 할 코드를 작성하려고 할 때 삭제를 "테스트"할 때 조금 불안했습니다.

어쨌든, 내 질문은, 거기에 "return null"을 테스트하는 동안 설정하지 않아도되는 방법은 무엇입니까?

하지만 더 중요한 것은 EntityErrorsException을 throw하면 예상대로 저장이 중지됩니다. :)

감사합니다. Bob

+0

여기에서 자세한 내용이 필요합니다. 나는 그 시나리오를 정말로 이해하지 못한다. 죄송합니다! –

답변

0

실행중인 IIS/IIS Express 인스턴스에서 Visual Studio 디버거를 분리하기 때문에 발생합니다. 디버거를 분리하자마자 요청은 웹 서버에서 계속 실행되므로 나머지 코드가 실행됩니다.

빠른 해결 방법은 컴파일러 조건에서 null 반환 코드를 감싸고 디버그 기호를 확인하는 것입니다. 이 라인을 따라 뭔가 :

#if DEBUG 
    return null; 
#endif 

생산 코드가 삭제를 사용하려면 RELEASE 컴파일러 기호 대신 디버그 기호를 사용하여 구축해야합니다.

+0

감사합니다. 그 트릭을 했어! – user2197022

관련 문제