Udostępnij za pośrednictwem


DataRelation Klasa

Definicja

Reprezentuje relację elementu nadrzędnego/podrzędnego między dwoma DataTable obiektami.

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 element i dodaje go do DataRelationCollection elementu 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

Element jest DataRelation używany do powiązania dwóch DataTable obiektów ze sobą za pośrednictwem DataColumn obiektów. Na przykład w relacji Customer/Orders tabela Customers (Klienci) jest elementem nadrzędnym, a tabela Orders (Zamówienia) jest elementem podrzędnym relacji. Jest to podobne do relacji klucza podstawowego/klucza obcego. Aby uzyskać więcej informacji, zobacz Nawigowanie po danychRelations.

Relacje są tworzone między pasującymi kolumnami w tabelach nadrzędnych i podrzędnych. Oznacza to, że DataType wartość obu kolumn musi być identyczna.

Relacje mogą również kaskadowo zmienić elementy z elementu nadrzędnego DataRow na jego wiersze podrzędne. Aby kontrolować, jak wartości są zmieniane w wierszach podrzędnych, dodaj element ForeignKeyConstraint do ConstraintCollectionDataTable obiektu . Określa ConstraintCollection , jaką akcję należy podjąć, gdy wartość w tabeli nadrzędnej zostanie usunięta lub zaktualizowana.

Po utworzeniu elementu DataRelation najpierw sprawdza, czy można ustanowić relację. Po dodaniu jej do DataRelationCollectionelementu relacja jest utrzymywana przez uniemożliwienie wszelkich zmian, które mogłyby ją unieważnić. Między okresem utworzenia DataRelation i dodaniu elementu do DataRelationCollectionelementu można wprowadzić dodatkowe zmiany w wierszach nadrzędnych lub podrzędnych. Wyjątek jest generowany, jeśli powoduje to, że relacja nie jest już prawidłowa.

Uwaga / Notatka

Uszkodzenie danych może wystąpić, jeśli między dwiema tabelami zdefiniowano relację dwukierunkową. Dwukierunkowa relacja składa się z dwóch DataRelation obiektów, które używają tych samych kolumn, a role nadrzędno-podrzędne są przełączane. Nie jest zgłaszany wyjątek podczas zapisywania DataRelation obiektów, jednak może wystąpić uszkodzenie danych.

DataRelation obiekty znajdują się w DataRelationCollectionobiekcie , do którego można uzyskać dostęp za pośrednictwem Relations właściwości DataSet, i ChildRelationsParentRelations właściwości DataTableobiektu .

Konstruktory

Nazwa Opis
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 oraz wartości wskazującej, czy utworzyć ograniczenia.

DataRelation(String, DataColumn, DataColumn)

Inicjuje nowe wystąpienie DataRelation klasy przy użyciu określonej DataRelation nazwy oraz obiektów nadrzędnych i podrzędnych DataColumn .

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 DataColumn oraz wartość wskazującą, czy utworzyć ograniczenia.

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

Inicjuje nowe wystąpienie DataRelation klasy przy użyciu określonej DataRelation nazwy i dopasowanych tablic obiektów nadrzędnych i podrzędnych DataColumn .

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

Ten konstruktor jest zapewniany na potrzeby obsługi czasu projektowania w środowisku programu Visual Studio.

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

Ten konstruktor jest zapewniany na potrzeby obsługi czasu projektowania w środowisku programu Visual Studio.

Właściwości

Nazwa Opis
ChildColumns

Pobiera obiekty podrzędne DataColumn tej relacji.

ChildKeyConstraint

Pobiera element ForeignKeyConstraint dla relacji.

ChildTable

Pobiera tabelę podrzędną tej relacji.

DataSet

Pobiera element, DataSet do którego DataRelation należy.

ExtendedProperties

Pobiera kolekcję, która przechowuje dostosowane właściwości.

Nested

Pobiera lub ustawia wartość wskazującą, czy DataRelation obiekty są zagnieżdżone.

ParentColumns

Pobiera tablicę DataColumn obiektów, które są kolumnami nadrzędnymi tego obiektu DataRelation.

ParentKeyConstraint

Pobiera wartość UniqueConstraint , która gwarantuje, że wartości w kolumnie nadrzędnej elementu DataRelation są unikatowe.

ParentTable

Pobiera element nadrzędny DataTable tego elementu DataRelation.

RelationName

Pobiera lub ustawia nazwę użytą do pobrania elementu DataRelation z .DataRelationCollection

Metody

Nazwa Opis
CheckStateForProperty()

Ta metoda obsługuje infrastrukturę platformy .NET i nie jest przeznaczona do użycia bezpośrednio z kodu.

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Object.

(Odziedziczone po Object)
OnPropertyChanging(PropertyChangedEventArgs)

Ten element członkowski obsługuje infrastrukturę platformy .NET i nie jest przeznaczony do użycia bezpośrednio z kodu.

RaisePropertyChanging(String)

Ten element członkowski obsługuje infrastrukturę platformy .NET i nie jest przeznaczony do użycia bezpośrednio z kodu.

ToString()

Pobiera element RelationName, jeśli istnieje.

Dotyczy

Bezpieczeństwo wątkowe

Ten typ jest bezpieczny w przypadku wielowątkowych operacji odczytu. Należy zsynchronizować wszystkie operacje zapisu.

Zobacz też