DataRelation Klasa

Definicja

Reprezentuje relację nadrzędną/podrzędną między dwoma obiektami DataTable.Represents a parent/child relationship between two DataTable objects.

public ref class DataRelation
[System.ComponentModel.TypeConverter(typeof(System.Data.RelationshipConverter))]
[System.Serializable]
public class DataRelation
type DataRelation = class
Public Class DataRelation
Dziedziczenie
DataRelation
Atrybuty

Przykłady

Poniższy przykład tworzy nowy DataRelation i dodaje go do 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

Uwagi

DataRelation służy do powiązania dwóch DataTable obiektów ze sobą za pomocą obiektów DataColumn.A DataRelation is used to relate two DataTable objects to each other through DataColumn objects. Na przykład w relacji klient/zamówienie tabela Customers jest nadrzędna, a tabela Orders jest elementem podrzędnym relacji.For example, in a Customer/Orders relationship, the Customers table is the parent and the Orders table is the child of the relationship. Jest to podobne do relacji klucz podstawowy/klucz obcy.This is similar to a primary key/foreign key relationship. Aby uzyskać więcej informacji, zobacz nawigowanie po relacjachdanych.For more information, see Navigating DataRelations.

Relacje są tworzone między pasującymi kolumnami w tabelach nadrzędnych i podrzędnych.Relationships are created between matching columns in the parent and child tables. Oznacza to, że wartość DataType obu kolumn musi być taka sama.That is, the DataType value for both columns must be identical.

Relacje mogą również kaskadować różnymi zmianami z DataRow nadrzędnego do jego wierszy podrzędnych.Relationships can also cascade various changes from the parent DataRow to its child rows. Aby kontrolować sposób zmiany wartości w wierszach podrzędnych, należy dodać ForeignKeyConstraint do ConstraintCollection obiektu DataTable.To control how values are changed in child rows, add a ForeignKeyConstraint to the ConstraintCollection of the DataTable object. ConstraintCollection określa, jaką akcję wykonać po usunięciu lub zaktualizowaniu wartości w tabeli nadrzędnej.The ConstraintCollection determines what action to take when a value in a parent table is deleted or updated.

Po utworzeniu DataRelation najpierw sprawdza, czy można nawiązać relację.When a DataRelation is created, it first verifies that the relationship can be established. Po dodaniu do DataRelationCollectionrelacja jest utrzymywana przez niezezwalanie na zmiany, które spowodują unieważnienie.After it is added to the DataRelationCollection, the relationship is maintained by disallowing any changes that would invalidate it. Między okresem, kiedy DataRelation jest tworzony i dodawany do DataRelationCollection, istnieje możliwość wprowadzenia dodatkowych zmian do wierszy nadrzędnych lub podrzędnych.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. Wyjątek jest generowany, jeśli spowoduje to powstanie relacji, która nie jest już prawidłowa.An exception is generated if this causes a relationship that is no longer valid.

Uwaga

Uszkodzenie danych może wystąpić, jeśli relacja dwukierunkowa jest zdefiniowana między dwiema tabelami.Data corruption can occur if a bi-directional relation is defined between two tables. Relacja dwukierunkowa składa się z dwóch DataRelation obiektów, które używają tych samych kolumn, z przełączanymi rolami nadrzędny-podrzędny.A bi-directional relation consists of two DataRelation objects that use the same columns, with the parent-child roles switched. Podczas zapisywania obiektów DataRelation nie jest zgłaszany żaden wyjątek. może jednak wystąpić uszkodzenie danych.No exception is raised when the DataRelation objects are saved; however, data corruption can occur.

DataRelation obiekty są zawarte w DataRelationCollection, do których można uzyskać dostęp za pomocą właściwości Relations DataSetoraz właściwości ChildRelations i 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.

Konstruktory

DataRelation(String, DataColumn, DataColumn)

Inicjuje nowe wystąpienie klasy DataRelation przy użyciu określonej nazwy DataRelation i nadrzędnych i podrzędnych obiektów 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)

Inicjuje nowe wystąpienie klasy DataRelation przy użyciu określonej nazwy, nadrzędnej i podrzędnej obiektów DataColumn oraz wartości, która wskazuje, czy należy tworzyć ograniczenia.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[])

Inicjuje nowe wystąpienie klasy DataRelation przy użyciu określonej nazwy DataRelation i pasujących tablic obiektów DataColumn nadrzędnych i podrzędnych.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)

Inicjuje nowe wystąpienie klasy DataRelation przy użyciu określonej nazwy, pasujących tablic nadrzędnych i podrzędnych obiektów DataColumn oraz wartość wskazującą, czy mają zostać utworzone ograniczenia.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)

Ten konstruktor jest dostarczany do obsługi czasu projektowania w środowisku programu Visual Studio.This constructor is provided for design time support in the Visual Studio environment.

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

Ten konstruktor jest dostarczany do obsługi czasu projektowania w środowisku programu Visual Studio.This constructor is provided for design time support in the Visual Studio environment.

Właściwości

ChildColumns

Pobiera obiekty podrzędne DataColumn tej relacji.Gets the child DataColumn objects of this relation.

ChildKeyConstraint

Pobiera ForeignKeyConstraint dla relacji.Gets the ForeignKeyConstraint for the relation.

ChildTable

Pobiera tabelę podrzędną tej relacji.Gets the child table of this relation.

DataSet

Pobiera DataSet, do którego należy DataRelation.Gets the DataSet to which the DataRelation belongs.

ExtendedProperties

Pobiera kolekcję, która przechowuje niestandardowe właściwości.Gets the collection that stores customized properties.

Nested

Pobiera lub ustawia wartość wskazującą, czy obiekty DataRelation są zagnieżdżone.Gets or sets a value that indicates whether DataRelation objects are nested.

ParentColumns

Pobiera tablicę DataColumn obiektów, które są kolumnami nadrzędnymi tego DataRelation.Gets an array of DataColumn objects that are the parent columns of this DataRelation.

ParentKeyConstraint

Pobiera UniqueConstraint, które gwarantują, że wartości w kolumnie nadrzędnej DataRelation są unikatowe.Gets the UniqueConstraint that guarantees that values in the parent column of a DataRelation are unique.

ParentTable

Pobiera DataTable nadrzędną tego DataRelation.Gets the parent DataTable of this DataRelation.

RelationName

Pobiera lub ustawia nazwę używaną do pobierania DataRelation z DataRelationCollection.Gets or sets the name used to retrieve a DataRelation from the DataRelationCollection.

Metody

CheckStateForProperty()

Ta metoda obsługuje infrastrukturę .NET Framework i nie jest przeznaczona do użycia bezpośrednio w kodzie.This method supports the .NET Framework infrastructure and is not intended to be used directly from your code.

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżącego wystąpienia.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego Object.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
OnPropertyChanging(PropertyChangedEventArgs)

Ten element członkowski obsługuje infrastrukturę programu .NET Framework i nie jest przeznaczony do użycia bezpośrednio w kodzie.This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.

RaisePropertyChanging(String)

Ten element członkowski obsługuje infrastrukturę programu .NET Framework i nie jest przeznaczony do użycia bezpośrednio w kodzie.This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.

ToString()

Pobiera RelationName, jeśli taki istnieje.Gets the RelationName, if one exists.

Dotyczy

Bezpieczeństwo wątkowe

Ten typ jest bezpieczny dla wielowątkowych operacji odczytu.This type is safe for multithreaded read operations. Należy zsynchronizować wszystkie operacje zapisu.You must synchronize any write operations.

Zobacz też