TransactionScope 를 사용할때는, 정의 한 범위 내에서 Connection 의 Open 메소드를 호출해야 한다.
아래 예제는 트랜젝션 기술 전에 Connection 의 Open 메소드로 db 를 열고 나서, 그 다음에 INSERT/UPDATE/DELETET 할 경우 이에 대해 트랜젝션 처리를 해주지 않는다.
그냥 단지 해당 쿼리를 실행할 뿐이다. 꼭 확인해야 할 사항
using (SqlConnection cn = new SqlConnection(연결문자열))
{
cn.Open(); //트랜젝션 적용 안됨
using (TransactionScope tran1 = new TransactionScope())
{
cn.Open(); //트랜젝션 적용됨
sql command 선언 및 실행
tran1.Complete();//commit 처리
}
cn.Close():
}