Exportieren (0) Drucken
Alle erweitern

DataRelation-Klasse

Stellt eine Parent/Child-Beziehung zwischen zwei DataTable-Objekten dar.

Namespace: System.Data
Assembly: System.Data (in system.data.dll)

public class DataRelation
public class DataRelation
public class DataRelation

Mithilfe einer DataRelation werden zwei DataTable-Objekte über DataColumn-Objekte miteinander verknüpft. In einer Customer/Orders-Beziehung ist z. B. die Tabelle Customers das übergeordnete Element und die Tabelle Orders das untergeordnete Element der Beziehung. Dies ist vergleichbar mit einer Primärschlüssel/Fremdschlüssel-Beziehung. Weitere Informationen finden Sie unter Navigieren in einer Beziehung zwischen Tabellen.

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

In Beziehungen können auch verschiedene Änderungen von der übergeordneten DataRow an die untergeordneten Zeilen weitergegeben werden. Um das Ändern von Werten in untergeordneten Zeilen zu steuern, fügen Sie der ConstraintCollection des DataTable-Objekts eine ForeignKeyConstraint hinzu. Die ConstraintCollection bestimmt, welche Aktion ausgeführt wird, wenn ein Wert in einer übergeordneten Tabelle gelöscht oder aktualisiert wird.

Beim Erstellen einer DataRelation wird zunächst überprüft, ob die Beziehung eingerichtet werden kann. Nachdem die Beziehung der DataRelationCollection hinzugefügt wurde, wird sie beibehalten, indem alle Änderungen für unzulässig erklärt werden, die sie ungültig machen würden. Nachdem eine DataRelation erstellt und bevor diese der DataRelationCollection hinzugefügt wurde, können zusätzliche Änderungen an den übergeordneten oder untergeordneten Zeilen vorgenommen werden. Eine Ausnahme wird ausgelöst, wenn dies zu einer nicht mehr gültigen Beziehung führt.

DataRelation-Objekte sind in einer DataRelationCollection enthalten, auf die Sie über die Relations-Eigenschaft des DataSet und über die ChildRelations-Eigenschaft und die ParentRelations-Eigenschaft der DataTable zugreifen können.

Im folgenden Beispiel wird eine neue DataRelation erstellt und der DataRelationCollection eines DataSet hinzugefü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);
}

System.Object
  System.Data.DataRelation

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

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0
Anzeigen:
© 2015 Microsoft