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