DataRelation Klasa

Definicja

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

public ref class DataRelation
[System.ComponentModel.TypeConverter(typeof(System.Data.RelationshipConverter))]
public class DataRelation
public class DataRelation
[System.ComponentModel.TypeConverter(typeof(System.Data.RelationshipConverter))]
[System.Serializable]
public class DataRelation
[<System.ComponentModel.TypeConverter(typeof(System.Data.RelationshipConverter))>]
type DataRelation = class
type DataRelation = class
[<System.ComponentModel.TypeConverter(typeof(System.Data.RelationshipConverter))>]
[<System.Serializable>]
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

A służy DataRelation do powiązania dwóch DataTable obiektów ze sobą za pomocą DataColumn obiektów.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 DataType wartość obu kolumn musi być taka sama.That is, the DataType value for both columns must be identical.

Relacje mogą również kaskadować różne zmiany z elementu nadrzędnego DataRow 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, Dodaj ForeignKeyConstraint do ConstraintCollection DataTable obiektu.To control how values are changed in child rows, add a ForeignKeyConstraint to the ConstraintCollection of the DataTable object. ConstraintCollectionOkreśla działanie podejmowane 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.

Gdy DataRelation jest tworzony, 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 programu DataRelationCollection relacja 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, gdy DataRelation jest tworzony i dodawany do DataRelationCollection , można wprowadzić dodatkowe zmiany w wierszach 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 nie jest zgłaszany żaden wyjątek DataRelation , jednak może wystąpić uszkodzenie danych.No exception is raised when the DataRelation objects are saved; however, data corruption can occur.

DataRelation obiekty są zawarte w obiekcie DataRelationCollection , do którego można uzyskać dostęp za pomocą Relations właściwości DataSet , oraz ChildRelations ParentRelations właściwości i 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 DataRelation klasy przy użyciu określonej DataRelation nazwy i obiektów nadrzędnych i podrzędnych 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 DataRelation klasy przy użyciu określonej nazwy, obiektów nadrzędnych i podrzędnych DataColumn , a także wartość wskazującą, czy mają zostać utworzone 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 DataRelation klasy przy użyciu określonej DataRelation nazwy i pasujących tablic obiektów nadrzędnych i podrzędnych 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)

Inicjuje nowe wystąpienie DataRelation klasy przy użyciu określonej nazwy, dopasowane tablice obiektów nadrzędnych i podrzędnych oraz DataColumn 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 DataRelation należy.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 DataRelation obiekty 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 elementu DataRelation .Gets an array of DataColumn objects that are the parent columns of this DataRelation.

ParentKeyConstraint

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

ParentTable

Pobiera element nadrzędny DataTable tego elementu DataRelation .Gets the parent DataTable of this DataRelation.

RelationName

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

Metody

CheckStateForProperty()

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

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.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żące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

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

(Odziedziczone po Object)
OnPropertyChanging(PropertyChangedEventArgs)

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

RaisePropertyChanging(String)

Ten element członkowski obsługuje infrastrukturę .NET i nie jest przeznaczony do użycia bezpośrednio w kodzie.This member supports .NET 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ż