TableAdapterManager 개요
TableAdapterManager는 관련된 데이터 테이블에 데이터를 저장하는 기능을 제공하는 구성 요소입니다. TableAdapterManager는 데이터 테이블 간의 관계를 설정하는 외래 키 관계를 사용하여 데이터베이스의 외래 키 제약 조건(참조 무결성)을 위반하지 않고 데이터 집합에서 데이터베이스로 삽입, 업데이트 및 삭제를 전송하는 올바른 순서를 결정합니다.
외래 키 제약 조건은 관련 레코드의 삽입, 업데이트 및 삭제 동작을 제어하는 데이터베이스의 일관성 규칙입니다. 부모 레코드와 관련된 자식 레코드가 다른 테이블에 있는 경우 부모 레코드가 삭제되지 않도록 하는 것이 외래 키 제약 조건입니다.
TableAdapterManager를 사용하여 관련 데이터 테이블에 데이터를 저장하는 모든 과정을 계층적 업데이트라고 합니다.
관련 데이터 테이블에서 수정된 데이터를 저장하는 것은 단일 테이블의 데이터를 저장하는 것보다 조금 더 복잡합니다. 이는 데이터베이스에 정의되어 있는 외래 키 제약 조건을 위반하지 않도록 각 관련 테이블에 대한 삽입, 업데이트 및 삭제 명령을 특정 순서로 실행해야 하기 때문입니다. 기존 고객 및 주문뿐만 아니라 새 고객 및 주문을 모두 관리할 수 있는 주문 입력 응용 프로그램을 예로 들어 보겠습니다. 기존 고객 레코드를 삭제해야 하는 경우에는 먼저 해당 고객의 모든 주문을 삭제해야 합니다. 새 고객 레코드를 주문과 함께 추가하는 경우에는 테이블에 외래 키 제약 조건이 있으므로 새 고객 레코드를 먼저 삽입한 다음 고객의 주문을 삽입해야 합니다. 이러한 예에서 볼 수 있듯이, 참조 무결성을 유지하고 데이터베이스의 외래 키 제약 조건과 충돌하지 않도록 하려면 특정 데이터 하위 집합을 추출하고 올바른 순서로 업데이트(삽입, 업데이트 및 삭제)를 전송해야 합니다.
TableAdapterManager 만들기
프로젝트에서 형식화된 데이터 집합을 만드는 경우 기본적으로 TableAdapterManager 클래스가 생성됩니다. 좀 더 구체적으로 말하면 TableAdapterManager를 만들지 여부를 결정하는 데이터 집합의 Hierarchical Update 속성 값에 따라 이 클래스가 생성됩니다. Hierarchical Update가 True로 설정되어 있으면 TableAdapterManager가 만들어지고 Hierarchical Update가 False로 설정되어 있으면 TableAdapterManager를 포함하지 않는 데이터 집합이 만들어집니다. 자세한 내용은 방법: 계층적 업데이트 활성화 및 비활성화를 참조하십시오.
참고
기본적으로 이전 버전의 Visual Studio로 만든 프로젝트에 추가된 데이터 집합에는 Hierarchical Update 속성이 False로 설정되어 있습니다. 즉, 계층적 업데이트가 비활성화되어 있으므로 TableAdapterManager가 만들어지지 않습니다. 기존 데이터 집합에 TableAdapterManager를 추가하는 방법에 대한 자세한 내용은 방법: 기존 Visual Studio 프로젝트에서 계층적 업데이트 구현을 참조하십시오.
TableAdapterManager 참조
TableAdapterManager 클래스는 .NET Framework에 속하지 않습니다. 따라서 해당 설명서에서 이 클래스를 찾을 수 없습니다. 이 클래스는 데이터 집합 생성 프로세스의 일부로 디자인 타임에 만들어집니다.
다음은 TableAdapterManager 클래스에서 자주 사용되는 메서드와 속성입니다.
멤버 |
설명 |
---|---|
UpdateAll 메서드 |
모든 데이터 테이블의 모든 데이터를 저장합니다. |
BackUpDataSetBeforeUpdate 속성 |
부울. TableAdapterManager.UpdateAll 메서드를 실행하기 전에 데이터 집합 백업 복사본을 만들지 여부를 결정합니다. |
tableNameTableAdapter 속성 |
TableAdapter를 나타냅니다. 생성된 TableAdapterManager에는 관리하는 각 TableAdapter에 대한 속성이 포함되어 있습니다. 예를 들어 Customers 및 Orders 테이블이 있는 데이터 집합은 CustomersTableAdapter 및 OrdersTableAdapter 속성이 포함된 TableAdapterManager와 함께 생성됩니다. |
UpdateOrder 속성 |
개별 삽입, 업데이트 및 삭제 명령의 실행 순서를 제어합니다. 이 속성을 TableAdapterManager.UpdateOrderOption 열거형 값 중 하나로 설정합니다. 기본적으로 UpdateOrder는 InsertUpdateDelete로 설정됩니다. 이는 데이터 집합의 모든 테이블에 대해 삽입이 수행되고, 그 다음에 데이터 집합의 모든 테이블에 대해 업데이트가 수행된 후 데이터 집합의 모든 테이블에 대해 삭제가 수행된다는 의미입니다. 자세한 내용은 방법: 계층적 업데이트를 수행하는 경우 순서 설정을 참조하십시오. |
참고 항목
작업
연습: 관련 데이터 테이블의 데이터 저장(계층적 업데이트)