문제

나는 객체에 거래를 할 수있는 방법이 있는지 궁금합니다. 다음과 같은 상황에 대해이 질문을하고 있습니다.

우리는 우리의 대상을 DataAccessLayer에게 전달합니다. 거기에서 트랜잭션 스코프를 사용하여 데이터베이스가 손상되지 않도록합니다.

이 과정에서 객체를 변경할 수 있습니다 (DateChanged, 소유자, ect ...). 그러나 트랜잭션이 실패한 경우 TransactionScope가 데이터베이스에서 트랜잭션을 롤백하지만 객체는 아닙니다.

이런 식으로 당신의 객체 (참조로 통과)는 다소 손상되었습니다.

이것에 대한 해결책이 있기를 바랍니다.

도움이 되었습니까?

해결책

다른 팁

TransactionScope를 사용하면 롤백시 (오류를 제공함으로써)를 명시 적으로 알려줍니다. 이런 일이 발생하면 소스에서 청소할 때까지 객체를 계속 처리해서는 안됩니다.

나는 당신이 당신의 클래스 객체에 거래를 할 수 있다는 것을 정말로 의심합니다. 어쩌면 다른 인스턴스에서 상태를 유지하고 롤백 명령문 직후에 코드를 사용자 정의하여 코드를 사용자 정의 할 수 있습니다.

나는 당신은 사용자 정의 데이터 계층 대신 nhibernate와 같은 좋은 또는 mapper를 사용합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top