DataRelation Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.