다음을 통해 공유


.NET Framework 애플리케이션에서 트랜잭션을 사용하여 데이터 저장

참고 항목

데이터 집합 및 관련 클래스는 2000년대 초반에 적용된 레거시 .NET Framework 기술로, 응용 프로그램이 데이터베이스에서 연결이 끊어진 동안 응용 프로그램이 메모리의 데이터로 작업할 수 있도록 합니다. 해당 기술은 사용자가 데이터를 수정하고 변경 내용을 다시 데이터베이스에 유지할 수 있도록 하는 애플리케이션에 특히 유용합니다. 데이터 세트는 매우 성공적인 기술로 입증되었지만 새 .NET 애플리케이션은 Entity Framework Core를 사용하는 것이 좋습니다. Entity Framework는 표 형식 데이터를 개체 모델로 사용하는 더 자연스러운 방법을 제공하며 더 단순한 프로그래밍 인터페이스를 제공합니다.

System.Transactions 네임스페이스를 사용하여 데이터를 트랜잭션에 저장합니다. TransactionScope 개체를 사용하여 자동으로 관리되는 트랜잭션에 참여합니다.

프로젝트는 System.Transactions 어셈블리에 대한 참조를 사용하여 만들어지지 않으므로 트랜잭션을 사용하는 프로젝트에 대한 참조를 수동으로 추가해야 합니다.

트랜잭션을 구현하는 가장 쉬운 방법은 using 문에서 TransactionScope 개체를 인스턴스화하는 것입니다. (자세한 내용은 Using 문Using 문을 참조하세요.) using 문 내에서 실행되는 코드는 트랜잭션에 참여합니다.

트랜잭션을 커밋하려면 using 블록의 마지막 문으로 Complete 메서드를 호출합니다.

트랜잭션을 롤백하려면 Complete 메서드를 호출하기 전에 예외를 throw합니다.

System.Transactions.dll에 대한 참조를 추가하려면

  1. 프로젝트 메뉴에서 참조 추가를 선택합니다.

  2. 해당 .NET 탭 (SQL Server 프로젝트의 경우 (SQL Server 탭)에서 System.Transactions를 선택한 다음, 확인을 선택합니다.

    System.Transactions.dll에 대한 참조가 프로젝트에 추가됩니다.

트랜잭션에 데이터를 저장하려면

  • 트랜잭션을 포함하는 using 문 내에 데이터를 저장하는 코드를 추가합니다. 다음 코드에서는 using 문에서 TransactionScope 개체를 만들고 인스턴스화하는 방법을 보여 줍니다.

    using (System.Transactions.TransactionScope updateTransaction = 
        new System.Transactions.TransactionScope())
    {
        // Add code to save your data here.
        // Throw an exception to roll back the transaction.
    
        // Call the Complete method to commit the transaction
        updateTransaction.Complete();
    }