Freigeben über


DataRelation Klasse

Definition

Stellt eine Beziehung zwischen zwei DataTable Objekten zwischen übergeordneten/untergeordneten 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 ein neues DataRelation erstellt und dem DataRelationCollection Objekt eines 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

Hinweise

A DataRelation wird verwendet, um zwei DataTable Objekte durch DataColumn Objekte miteinander zu verknüpfen. In einer Beziehung "Kunden/Bestellungen" ist die Tabelle "Kunden" beispielsweise das übergeordnete Element, und die Tabelle "Bestellungen" ist 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 den übergeordneten und untergeordneten Tabellen erstellt. Das heißt, der DataType Wert für beide Spalten muss identisch sein.

Beziehungen können auch verschiedene Änderungen vom übergeordneten Element DataRow in die untergeordneten Zeilen überlappen. Um zu steuern, wie Werte in untergeordneten Zeilen geändert werden, fügen Sie dem DataTableConstraintCollection Objekt einen Wert ForeignKeyConstraint hinzu. Dies ConstraintCollection bestimmt, welche Aktion ausgeführt werden soll, wenn ein Wert in einer übergeordneten Tabelle gelöscht oder aktualisiert wird.

Beim Erstellen eines Vorgangs DataRelation wird zunächst überprüft, ob die Beziehung hergestellt werden kann. Nachdem sie der DataRelationCollectionBeziehung hinzugefügt wurde, wird die Beziehung beibehalten, indem alle Änderungen deaktiviert werden, die sie ungültig würden. Zwischen dem Zeitraum, in dem DataRelationCollectionein DataRelation Objekt erstellt und dem hinzugefügt wird, ist es möglich, dass zusätzliche Änderungen an den übergeordneten oder untergeordneten Zeilen vorgenommen werden. Eine Ausnahme wird generiert, wenn dies zu einer nicht mehr gültigen Beziehung führt.

Hinweis

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 untergeordneten Rollen gewechselt sind. Es wird keine Ausnahme ausgelöst, wenn die DataRelation Objekte gespeichert werden. Datenbeschädigungen können jedoch auftreten.

DataRelationObjekte sind in einer DataRelationCollection, auf die Sie über die Relations Eigenschaft des DataSet, und die ChildRelationsParentRelations Eigenschaften der .DataTable

Konstruktoren

Name Beschreibung
DataRelation(String, DataColumn, DataColumn, Boolean)

Initialisiert eine neue Instanz der DataRelation Klasse mit dem angegebenen Namen, übergeordneten und untergeordneten DataColumn Objekten und einem Wert, der angibt, ob Einschränkungen erstellt werden sollen.

DataRelation(String, DataColumn, DataColumn)

Initialisiert eine neue Instanz der DataRelation Klasse mit dem angegebenen DataRelation Namen und übergeordneten und untergeordneten DataColumn Objekten.

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

Initialisiert eine neue Instanz der DataRelation Klasse mit dem angegebenen Namen, übereinstimmenden Arrays von übergeordneten und untergeordneten DataColumn Objekten und Wert, die angibt, ob Einschränkungen erstellt werden sollen.

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

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

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

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

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

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

Eigenschaften

Name Beschreibung
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 ab DataSet , zu der die Gehört DataRelation .

ExtendedProperties

Ruft die Auflistung ab, die benutzerdefinierte Eigenschaften speichert.

Nested

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob DataRelation Objekte geschachtelt sind.

ParentColumns

Ruft ein Array von DataColumn Objekten ab, die die übergeordneten Spalten dieses DataRelationObjekts sind.

ParentKeyConstraint

Ruft die, die UniqueConstraint garantiert, dass Werte in der übergeordneten Spalte einer DataRelation eindeutig sind.

ParentTable

Ruft das übergeordnete DataTable Element dieser DataRelation.

RelationName

Dient zum Abrufen oder Festlegen des Namens, der zum Abrufen eines DataRelation aus der DataRelationCollection.

Methoden

Name Beschreibung
CheckStateForProperty()

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

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
OnPropertyChanging(PropertyChangedEventArgs)

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

RaisePropertyChanging(String)

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

ToString()

Ruft den RelationName, wenn vorhanden.

Gilt für:

Threadsicherheit

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

Weitere Informationen