Freigeben über


DataRelation Klasse

Definition

Stellt die hierarchische Beziehung zwischen zwei DataTable-Objekten dar.

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
Vererbung
DataRelation
Attribute

Beispiele

Im folgenden Beispiel wird eine neue DataRelation erstellt und dem DataRelationCollection eines DataSethinzugefügt.

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

Hinweise

Ein DataRelation wird verwendet, um zwei DataTable Objekte über DataColumn Objekte miteinander zu verknüpfen. In einer Kunden-/Bestellungen-Beziehung ist beispielsweise die Tabelle Customers das übergeordnete Element und die Tabelle Orders das untergeordnete Element der Beziehung. Dies ähnelt einer Primärschlüssel/Fremdschlüsselbeziehung. Weitere Informationen finden Sie unter Navigieren in DataRelations.

Beziehungen werden zwischen übereinstimmenden Spalten in der übergeordneten und untergeordneten Tabelle erstellt. Das heißt, der DataType Wert für beide Spalten muss identisch sein.

Beziehungen können auch verschiedene Änderungen von der übergeordneten DataRow in die untergeordneten Zeilen kaskadieren. Um zu steuern, wie Werte in untergeordneten Zeilen geändert werden, fügen Sie dem ConstraintCollection des DataTable -Objekts eine hinzuForeignKeyConstraint. Bestimmt ConstraintCollection , welche Aktion ausgeführt werden soll, wenn ein Wert in einer übergeordneten Tabelle gelöscht oder aktualisiert wird.

Wenn ein DataRelation erstellt wird, wird zuerst überprüft, ob die Beziehung hergestellt werden kann. Nachdem sie dem DataRelationCollectionhinzugefügt wurde, wird die Beziehung beibehalten, indem alle Änderungen nicht mehr zugeordnet werden, die sie ungültig machen würden. Zwischen dem Zeitraum, in dem ein DataRelation erstellt und hinzugefügt DataRelationCollectionwird, können zusätzliche Änderungen an den übergeordneten oder untergeordneten Zeilen vorgenommen werden. Eine Ausnahme wird generiert, wenn dadurch eine Beziehung verursacht wird, die nicht mehr gültig ist.

Hinweis

Eine Datenbeschädigung kann auftreten, wenn eine bidirektionale Beziehung zwischen zwei Tabellen definiert ist. Eine bidirektionale Beziehung besteht aus zwei DataRelation Objekten, die dieselben Spalten verwenden, wobei die übergeordneten und untergeordneten Rollen gewechselt sind. Beim Speichern der DataRelation Objekte wird keine Ausnahme ausgelöst. Es kann jedoch zu Datenbeschädigungen kommen.

DataRelation -Objekte sind in einem DataRelationCollectionenthalten, auf das Sie über die Relations -Eigenschaft der DataSet- und der ChildRelations - und ParentRelations -Eigenschaft von DataTablezugreifen können.

Konstruktoren

DataRelation(String, DataColumn, DataColumn)

Initialisiert eine neue Instanz der DataRelation-Klasse unter Verwendung des angegebenen DataRelation-Namens sowie der angegebenen übergeordneten und untergeordneten DataColumn-Objekte.

DataRelation(String, DataColumn, DataColumn, Boolean)

Initialisiert eine neue Instanz der DataRelation-Klasse unter Verwendung des angegebenen Namens, der übergeordneten und untergeordneten DataColumn-Objekte sowie eines Werts, der angibt, ob Einschränkungen erstellt werden sollen.

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

Initialisiert eine neue Instanz der DataRelation-Klasse unter Verwendung des angegebenen DataRelation-Namens sowie der übereinstimmenden Arrays von übergeordneten und untergeordneten DataColumn-Objekten.

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

Initialisiert eine neue Instanz der DataRelation-Klasse unter Verwendung des angegebenen Namens, der übereinstimmenden Arrays von übergeordneten und untergeordneten DataColumn-Objekten sowie eines Werts, der angibt, ob Einschränkungen erstellt werden sollen.

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

Dieser Konstruktor wird für die Unterstützung zur Entwurfszeit in der Visual Studio-Umgebung bereitgestellt.

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

Dieser Konstruktor wird für die Unterstützung zur Entwurfszeit in der Visual Studio-Umgebung bereitgestellt.

Eigenschaften

ChildColumns

Ruft die untergeordneten DataColumn-Objekte dieser Beziehung ab.

ChildKeyConstraint

Ruft die ForeignKeyConstraint für die Beziehung ab.

ChildTable

Ruft die untergeordnete Tabelle dieser Beziehung ab.

DataSet

Ruft das DataSet ab, zu dem die DataRelation gehört.

ExtendedProperties

Ruft die Auflistung ab, in der angepasste Eigenschaften gespeichert werden.

Nested

Ruft einen Wert ab, der angibt, ob DataRelation-Objekte geschachtelt sind, oder legt diesen fest.

ParentColumns

Ruft ein Array von DataColumn-Objekten ab, die die übergeordneten Spalten dieser DataRelation darstellen.

ParentKeyConstraint

Ruft die UniqueConstraint ab, durch die sichergestellt wird, dass Werte in der übergeordneten Spalte einer DataRelation eindeutig sind.

ParentTable

Ruft das übergeordnete DataTable dieses DataRelation ab.

RelationName

Ruft den Namen ab, der zum Abrufen einer DataRelation aus der DataRelationCollection verwendet wird, oder legt diesen fest.

Methoden

CheckStateForProperty()

Diese Methode unterstützt die .NET-Infrastruktur und ist nicht für die direkte Verwendung in Code vorgesehen.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
OnPropertyChanging(PropertyChangedEventArgs)

Dieses Member unterstützt die .NET-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

RaisePropertyChanging(String)

Dieses Member unterstützt die .NET-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

ToString()

Ruft den RelationName ab, sofern vorhanden.

Gilt für:

Threadsicherheit

Dieser Typ ist für Multithread-Lesevorgänge sicher. Sie müssen alle Schreibvorgänge synchronisieren.

Weitere Informationen