2012-01-24 3 views
1

배경으로 여러 개체와의 거래를 만들기위한 가장 좋은 방법은 무엇 :엔터프라이즈 라이브러리 5.0

내가 다른 객체 속성의 번호를 가진 개체가 있습니다. 기본 객체의 저장시 데이터베이스에 레코드를 삽입 한 다음 하위 객체의 Save 메소드를 호출합니다. 이 모델에서 현재 위험한 점은 주 개체가 데이터베이스에 저장되었지만 하위 개체 중 하나가 아니라면 데이터가 정확한 상태를 반영하지 않는다는 것입니다.

내 .NET 4.0 응용 프로그램은 Enterprise Library 5.0을 사용하며 데이터는 하나의 SQL Server 2008 데이터베이스에 저장됩니다. 트랜잭션 저장 기능을 구현하여 모든 저장이 성공하거나 실패시 롤백 할 때 모든 개체가 저장되도록하고 싶습니다.

는 질문 :

나는 .NET 1.0/1.1 대 .NET 2.0에서 트랜잭션 지원에 대한 good but dated article을 발견하지만, 현재 가장 좋은 방법은 트랜잭션 지원을 구현하기 위해 무엇인지 알고 싶었다.

답변

1

위에서 언급 한 기사에서 설명한대로 System.Transactions.TransactionScope가 끝났습니다. Enterprise Library 3.0 이상은 데이터베이스에 연결할 때 Transaction.Current를 찾습니다. 명시 적으로 거래 정보를 전달할 필요는 없습니다.

using(TransactionScope scope = new TransactionScope()) 
{ 
    /* Perform transactional work here */ 
    //No errors-commit transaction 
    scope.Complete(); 
} 
관련 문제