DataRelation 클래스

정의

DataTable 개체 사이의 부모/자식 관계를 나타냅니다.Represents a parent/child relationship between two DataTable objects.

public ref class DataRelation
public class DataRelation
[System.ComponentModel.TypeConverter(typeof(System.Data.RelationshipConverter))]
public class DataRelation
[System.ComponentModel.TypeConverter(typeof(System.Data.RelationshipConverter))]
[System.Serializable]
public class DataRelation
type DataRelation = class
[<System.ComponentModel.TypeConverter(typeof(System.Data.RelationshipConverter))>]
type DataRelation = class
[<System.ComponentModel.TypeConverter(typeof(System.Data.RelationshipConverter))>]
[<System.Serializable>]
type DataRelation = class
Public Class DataRelation
상속
DataRelation
특성

예제

다음 예제에서는 새를 만들어 DataRelation 의에 추가 합니다 DataRelationCollection DataSet .The following example creates a new DataRelation and adds it to the DataRelationCollection of a DataSet.

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);
}
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

설명

DataRelation 개체를 통해 두 개체를 서로 연결 하는 데 사용 됩니다 DataTable DataColumn .A DataRelation is used to relate two DataTable objects to each other through DataColumn objects. 예를 들어 Customer/Orders 관계에서 Customers 테이블은 부모이 고 Orders 테이블은 관계의 자식입니다.For example, in a Customer/Orders relationship, the Customers table is the parent and the Orders table is the child of the relationship. 이는 기본 키/외래 키 관계와 유사 합니다.This is similar to a primary key/foreign key relationship. 자세한 내용은 DataRelations 탐색을 참조 하세요.For more information, see Navigating DataRelations.

부모 및 자식 테이블에서 일치 하는 열 사이에 관계가 생성 됩니다.Relationships are created between matching columns in the parent and child tables. 즉, DataType 두 열의 값이 동일 해야 합니다.That is, the DataType value for both columns must be identical.

관계는 부모에서 자식 행으로 다양 한 변경 내용을 적용할 수도 있습니다 DataRow .Relationships can also cascade various changes from the parent DataRow to its child rows. 자식 행의 값이 변경 되는 방식을 제어 하려면 ForeignKeyConstraint ConstraintCollection 개체의에를 추가 DataTable 합니다.To control how values are changed in child rows, add a ForeignKeyConstraint to the ConstraintCollection of the DataTable object. ConstraintCollection 부모 테이블의 값을 삭제 하거나 업데이트 하는 경우 수행할 동작을 결정 합니다.The ConstraintCollection determines what action to take when a value in a parent table is deleted or updated.

DataRelation가 만들어지면 먼저 관계를 설정할 수 있는지 확인 합니다.When a DataRelation is created, it first verifies that the relationship can be established. 에 추가 된 후에는 DataRelationCollection 변경 내용이 무효화 되는 것을 허용 하지 않고 관계가 유지 됩니다.After it is added to the DataRelationCollection, the relationship is maintained by disallowing any changes that would invalidate it. 을 만들어에 추가 하는 기간 사이에 DataRelation DataRelationCollection 부모 또는 자식 행을 추가로 변경할 수 있습니다.Between the period when a DataRelation is created and added to the DataRelationCollection, it is possible for additional changes to be made to the parent or child rows. 이로 인해 더 이상 유효 하지 않은 관계가 생성 되 면 예외가 생성 됩니다.An exception is generated if this causes a relationship that is no longer valid.

참고

두 테이블 간에 양방향 관계가 정의 된 경우 데이터 손상이 발생할 수 있습니다.Data corruption can occur if a bi-directional relation is defined between two tables. 양방향 관계는 DataRelation 동일한 열을 사용 하는 두 개체로 구성 되며 부모-자식 역할이 전환 됩니다.A bi-directional relation consists of two DataRelation objects that use the same columns, with the parent-child roles switched. 개체를 저장할 때는 예외가 발생 하지 않습니다. DataRelation 그러나 데이터 손상이 발생할 수 있습니다.No exception is raised when the DataRelation objects are saved; however, data corruption can occur.

DataRelation 개체는의 속성을 DataRelationCollection 통해 액세스할 수 있는에 포함 되며 Relations DataSet ChildRelations ParentRelations 의 및 속성을 통해 액세스할 수 있습니다 DataTable .DataRelation objects are contained in a DataRelationCollection, which you can access through the Relations property of the DataSet, and the ChildRelations and ParentRelations properties of the DataTable.

생성자

DataRelation(String, DataColumn, DataColumn)

지정된 DataRelation 이름과 부모 및 자식 DataRelation 개체를 사용하여 DataColumn 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the DataRelation class using the specified DataRelation name, and parent and child DataColumn objects.

DataRelation(String, DataColumn, DataColumn, Boolean)

지정된 이름, 부모 및 자식 DataRelation 개체, 제약 조건을 만들지 여부를 나타내는 값 등을 사용하여 DataColumn 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the DataRelation class using the specified name, parent and child DataColumn objects, and a value that indicates whether to create constraints.

DataRelation(String, DataColumn[], DataColumn[])

부모 및 자식 DataRelation 개체의 일치되는 배열과 지정된 DataRelation 이름을 사용하여 DataColumn 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the DataRelation class using the specified DataRelation name and matched arrays of parent and child DataColumn objects.

DataRelation(String, DataColumn[], DataColumn[], Boolean)

지정된 이름, 부모 및 자식 DataRelation 개체의 일치되는 배열, 제약 조건을 만들지 여부를 나타내는 값 등을 사용하여 DataColumn 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the DataRelation class using the specified name, matched arrays of parent and child DataColumn objects, and value that indicates whether to create constraints.

DataRelation(String, String, String, String, String, String[], String[], Boolean)

이 생성자는 Visual Studio 환경에서 디자인 타임 지원을 위해 제공됩니다.This constructor is provided for design time support in the Visual Studio environment.

DataRelation(String, String, String, String[], String[], Boolean)

이 생성자는 Visual Studio 환경에서 디자인 타임 지원을 위해 제공됩니다.This constructor is provided for design time support in the Visual Studio environment.

속성

ChildColumns

이 관계의 자식 DataColumn 개체를 가져옵니다.Gets the child DataColumn objects of this relation.

ChildKeyConstraint

관계의 ForeignKeyConstraint를 가져옵니다.Gets the ForeignKeyConstraint for the relation.

ChildTable

이 관계의 자식 테이블을 가져옵니다.Gets the child table of this relation.

DataSet

DataSet이 속하는 DataRelation을 가져옵니다.Gets the DataSet to which the DataRelation belongs.

ExtendedProperties

사용자 지정 속성을 저장하는 컬렉션을 가져옵니다.Gets the collection that stores customized properties.

Nested

DataRelation 개체가 중첩되는지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value that indicates whether DataRelation objects are nested.

ParentColumns

DataColumn의 부모 열인 DataRelation 개체로 이루어진 배열을 가져옵니다.Gets an array of DataColumn objects that are the parent columns of this DataRelation.

ParentKeyConstraint

UniqueConstraint의 부모 열에 있는 값을 고유하게 하는 DataRelation를 가져옵니다.Gets the UniqueConstraint that guarantees that values in the parent column of a DataRelation are unique.

ParentTable

DataTable의 부모 DataRelation를 가져옵니다.Gets the parent DataTable of this DataRelation.

RelationName

DataRelation에서 DataRelationCollection을 검색하는 데 사용되는 이름을 가져오거나 설정합니다.Gets or sets the name used to retrieve a DataRelation from the DataRelationCollection.

메서드

CheckStateForProperty()

이 메서드는 .NET 인프라를 지원하며 사용자 코드에서 직접 사용할 수 없습니다.This method supports .NET infrastructure and is not intended to be used directly from your code.

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
OnPropertyChanging(PropertyChangedEventArgs)

이 멤버는 .NET 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.This member supports .NET infrastructure and is not intended to be used directly from your code.

RaisePropertyChanging(String)

이 멤버는 .NET 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.This member supports .NET infrastructure and is not intended to be used directly from your code.

ToString()

RelationName이 있는 경우 가져옵니다.Gets the RelationName, if one exists.

적용 대상

스레드 보안

이 형식은 다중 스레드 읽기 작업에 안전 합니다.This type is safe for multithreaded read operations. 모든 쓰기 작업을 동기화 해야 합니다.You must synchronize any write operations.

추가 정보