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 obiektu 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 DataRelation jest 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 usłudze DataRelations.

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

Relacje mogą również kaskadowo zmianami z elementu nadrzędnego DataRow do jego wierszy podrzędnych. Aby kontrolować, jak wartości są zmieniane w wierszach podrzędnych, dodaj element ForeignKeyConstraint do ConstraintCollection DataTable 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 zachowywana przez uniemożliwienie wprowadzania wszelkich zmian, które ją unieważniają. Między okresem DataRelation tworzenia i dodawania 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

Uszkodzenie danych może wystąpić, jeśli relacja dwukierunkowa jest definiowana między dwiema tabelami. Relacja dwukierunkowa składa się z dwóch DataRelation obiektów, które używają tych samych kolumn, z przełącznikami ról nadrzędny-podrzędny. 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, oraz właściwości i ChildRelations ParentRelations obiektu DataTable.

Konstruktory

DataRelation(String, DataColumn, DataColumn)

Inicjuje DataRelation nowe wystąpienie 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, obiektów nadrzędnych i podrzędnych DataColumn oraz wartości, która wskazuje, czy utworzyć ograniczenia.

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

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

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

Ten konstruktor jest zapewniany do obsługi czasu projektowania w środowisku Visual Studio.

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

Ten konstruktor jest zapewniany do obsługi czasu projektowania w środowisku Visual Studio.

Właściwości

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 DataRelationobiektu .

RelationName

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

Metody

CheckStateForProperty()

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

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

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

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

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

(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 taki istnieje.

Dotyczy

Bezpieczeństwo wątkowe

Ten typ jest bezpieczny dla operacji odczytu wielowątkowego. Należy zsynchronizować wszystkie operacje zapisu.

Zobacz też