.NET Framework 애플리케이션에서 데이터 세트를 채우는 동안 제약 조건 해제

참고 항목

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

데이터 세트에 제약 조건(예: 외래 키 제약 조건)이 포함된 경우 데이터 세트에 대해 수행되는 작업 순서와 관련된 오류가 발생할 수 있습니다. 예를 들어, 관련 부모 레코드를 로드하기 전에 자식 레코드를 로드하면 제약 조건에 위반되어 오류가 발생할 수 있습니다. 자식 레코드를 로드하는 즉시 제약 조건은 관련 부모 레코드를 확인하고 오류를 발생시킵니다.

임시 제약 조건 일시 중단을 허용하는 메커니즘이 없는 경우 자식 테이블에 레코드를 로드하려고 할 때마다 오류가 발생합니다. 데이터 세트의 모든 제약 조건을 일시 중단하는 또 다른 방법은 BeginEditEndEdit 속성을 사용하는 것입니다.

참고 항목

제약 조건이 꺼져 있으면 유효성 검사 이벤트(예: ColumnChanging, RowChanging)가 발생하지 않습니다.

프로그래밍 방식으로 업데이트 제약 조건을 일시 중단하려면

  • 다음 예제에서는 데이터 세트에서 제약 조건 검사를 일시적으로 끄는 방법을 보여 줍니다.

    dataSet1.EnforceConstraints = false;
    // Perform some operations on the dataset
    dataSet1.EnforceConstraints = true;
    

데이터 세트 디자이너를 사용하여 업데이트 제약 조건을 일시 중단하려면

  1. 데이터 세트 디자이너에서 데이터 세트를 엽니다. 자세한 내용은 연습: 데이터 세트 디자이너 데이터 세트 만들기를 참조하세요.

  2. 속성 창에서 EnforceConstraints 속성을 false로 설정합니다.