다음을 통해 공유


DataRelation 클래스

두 개의 DataTable 개체 사이의 부모/자식 관계를 나타냅니다.

네임스페이스: System.Data
어셈블리: System.Data(system.data.dll)

구문

‘선언
Public Class DataRelation
‘사용 방법
Dim instance As DataRelation
public class DataRelation
public ref class DataRelation
public class DataRelation
public class DataRelation

설명

DataRelationDataColumn 개체를 통해 두 개의 DataTable 개체를 서로 연결하는 데 사용됩니다. 예를 들어 Customer/Orders 관계에서 Customers 테이블은 부모이고 Orders 테이블은 관계의 자식입니다. 기본 키/외래 키 관계와 비슷합니다. 자세한 내용은 테이블 사이의 관계 탐색을 참조하십시오.

부모 및 자식 테이블의 일치하는 열 간에 관계가 만들어집니다. 즉, 두 개의 열에 대한 DataType 값이 동일해야 합니다.

또한 관계는 부모 DataRow의 여러 변경 내용을 자식 행에 모두 적용할 수 있습니다. 자식 행에서 값이 변경되는 방법을 제어하려면 ForeignKeyConstraintDataTable 개체의 ConstraintCollection에 추가합니다. ConstraintCollection은 부모 테이블의 값이 삭제되거나 업데이트될 때 취할 동작을 결정합니다.

DataRelation이 만들어지면 관계가 설정될 수 있는지 먼저 확인합니다. DataRelationCollection에 추가된 이후에 관계를 계속 유지하려면 이 관계를 무효화할 수 있는 변경 사항이 발생하지 않도록 합니다. DataRelation이 만들어진 다음 DataRelationCollection에 추가되는 기간 동안에는 부모 행이나 자식 행을 추가로 변경할 수 있습니다. 그로 인해 관계가 무효화되면 예외가 생성됩니다.

DataRelation 개체는 DataRelationCollection에 포함되며 DataSetRelations 속성과 DataTableChildRelationsParentRelations 속성을 통해 액세스할 수 있습니다.

예제

다음 예제에서는 새 DataRelation을 만든 다음 DataSetDataRelationCollection에 추가합니다.

Private Sub CreateRelation()
    ' Get the DataColumn objects from two DataTable objects 
    ' in a DataSet. Code to get the DataSet not shown here.
    Dim parentColumn As DataColumn = _
        DataSet1.Tables("Customers").Columns("CustID")
    Dim childColumn As DataColumn = DataSet1.Tables( _
        "Orders").Columns("CustID")

    ' Create DataRelation.
    Dim relCustOrder As DataRelation
    relCustOrder = New DataRelation( _
        "CustomersOrders", parentColumn, childColumn)

    ' Add the relation to the DataSet.
    DataSet1.Relations.Add(relCustOrder)
End Sub
private void CreateRelation() 
{
    // Get the DataColumn objects from two DataTable objects 
    // in a DataSet. Code to get the DataSet not shown here.
    DataColumn parentColumn = 
        DataSet1.Tables["Customers"].Columns["CustID"];
    DataColumn childColumn = 
        DataSet1.Tables["Orders"].Columns["CustID"];
    // Create DataRelation.
    DataRelation relCustOrder;
    relCustOrder = new DataRelation("CustomersOrders", 
        parentColumn, childColumn);
    // Add the relation to the DataSet.
    DataSet1.Relations.Add(relCustOrder);
}

상속 계층 구조

System.Object
  System.Data.DataRelation

스레드로부터의 안전성

이 형식은 다중 스레드 읽기 작업에 안전합니다. 쓰기 작업을 동기화해야 합니다.

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

참고 항목

참조

DataRelation 멤버
System.Data 네임스페이스
ChildRelations
DataColumn 클래스
DataSet
ForeignKeyConstraint
DataRelationCollection
UniqueConstraint
ParentRelations