DataRelation Klasse

Definition

Stellt die hierarchische Beziehung zwischen zwei DataTable-Objekten dar.Represents a parent/child relationship between two DataTable objects.

public ref class DataRelation
public class DataRelation
[System.ComponentModel.TypeConverter(typeof(System.Data.RelationshipConverter))]
public class DataRelation
[System.ComponentModel.TypeConverter(typeof(System.Data.RelationshipConverter))]
[System.Serializable]
public class DataRelation
type DataRelation = class
Public Class DataRelation
Vererbung
DataRelation
Attribute

Beispiele

Im folgenden Beispiel wird eine neue DataRelation erstellt und der DataRelationCollection eines DataSethinzugefügt.The following example creates a new DataRelation and adds it to the DataRelationCollection of a 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

Ein-DataRelation wird verwendet, um zwei DataTable-Objekte über DataColumn-Objekte miteinander in Beziehung zu setzen.A DataRelation is used to relate two DataTable objects to each other through DataColumn objects. Beispielsweise ist die Customers-Tabelle in einer Customer/Orders-Beziehung das übergeordnete Element, und die Orders-Tabelle ist das untergeordnete Element der Beziehung.For example, in a Customer/Orders relationship, the Customers table is the parent and the Orders table is the child of the relationship. Dies ist vergleichbar mit einer Primärschlüssel-/Fremdschlüssel Beziehung.This is similar to a primary key/foreign key relationship. Weitere Informationen finden Sie unter Navigieren in DataRelations.For more information, see Navigating DataRelations.

Beziehungen werden zwischen übereinstimmenden Spalten in den übergeordneten und untergeordneten Tabellen erstellt.Relationships are created between matching columns in the parent and child tables. Das heißt, der DataType Wert für beide Spalten muss identisch sein.That is, the DataType value for both columns must be identical.

Beziehungen können auch verschiedene Änderungen von der übergeordneten DataRow an die zugehörigen untergeordneten Zeilen kaskadieren.Relationships can also cascade various changes from the parent DataRow to its child rows. Um zu steuern, wie Werte in untergeordneten Zeilen geändert werden, fügen Sie dem ConstraintCollection des DataTable Objekts eine ForeignKeyConstraint hinzu.To control how values are changed in child rows, add a ForeignKeyConstraint to the ConstraintCollection of the DataTable object. Der ConstraintCollection bestimmt, welche Aktion ausgeführt werden soll, wenn ein Wert in einer übergeordneten Tabelle gelöscht oder aktualisiert wird.The ConstraintCollection determines what action to take when a value in a parent table is deleted or updated.

Wenn eine DataRelation erstellt wird, wird zuerst überprüft, ob die Beziehung hergestellt werden kann.When a DataRelation is created, it first verifies that the relationship can be established. Nachdem der DataRelationCollectionhinzugefügt wurde, wird die Beziehung beibehalten, indem Änderungen, die ihn ungültig machen, nicht zugelassen werden.After it is added to the DataRelationCollection, the relationship is maintained by disallowing any changes that would invalidate it. Zwischen dem Zeitraum, in dem eine DataRelation erstellt und der DataRelationCollectionhinzugefügt wird, können zusätzliche Änderungen an den übergeordneten oder untergeordneten Zeilen vorgenommen werden.Between the period when a DataRelation is created and added to the DataRelationCollection, it is possible for additional changes to be made to the parent or child rows. Eine Ausnahme wird generiert, wenn dies eine nicht mehr gültige Beziehung verursacht.An exception is generated if this causes a relationship that is no longer valid.

Hinweis

Daten Beschädigungen können auftreten, wenn eine bidirektionale Beziehung zwischen zwei Tabellen definiert ist.Data corruption can occur if a bi-directional relation is defined between two tables. Eine bidirektionale Beziehung besteht aus zwei DataRelation Objekten, von denen die gleichen Spalten verwendet werden, wobei die über-/unterordnungsrollen gewechselt werden.A bi-directional relation consists of two DataRelation objects that use the same columns, with the parent-child roles switched. Es wird keine Ausnahme ausgelöst, wenn die DataRelation-Objekte gespeichert werden. Es können jedoch Daten Beschädigungen auftreten.No exception is raised when the DataRelation objects are saved; however, data corruption can occur.

DataRelation Objekte sind in einer DataRelationCollectionenthalten, auf die Sie über die Relations-Eigenschaft der DataSetund die ChildRelations-und ParentRelations Eigenschaften der DataTablezugreifen können.DataRelation objects are contained in a DataRelationCollection, which you can access through the Relations property of the DataSet, and the ChildRelations and ParentRelations properties of the DataTable.

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.Initializes a new instance of the DataRelation class using the specified DataRelation name, and parent and child DataColumn objects.

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.Initializes a new instance of the DataRelation class using the specified name, parent and child DataColumn objects, and a value that indicates whether to create constraints.

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.Initializes a new instance of the DataRelation class using the specified DataRelation name and matched arrays of parent and child DataColumn objects.

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.Initializes a new instance of the DataRelation class using the specified name, matched arrays of parent and child DataColumn objects, and value that indicates whether to create constraints.

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.This constructor is provided for design time support in the Visual Studio environment.

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

Dieser Konstruktor wird für die Unterstützung zur Entwurfszeit in der Visual Studio-Umgebung bereitgestellt.This constructor is provided for design time support in the Visual Studio environment.

Eigenschaften

ChildColumns

Ruft die untergeordneten DataColumn-Objekte dieser Beziehung ab.Gets the child DataColumn objects of this relation.

ChildKeyConstraint

Ruft die ForeignKeyConstraint für die Beziehung ab.Gets the ForeignKeyConstraint for the relation.

ChildTable

Ruft die untergeordnete Tabelle dieser Beziehung ab.Gets the child table of this relation.

DataSet

Ruft das DataSet ab, zu dem die DataRelation gehört.Gets the DataSet to which the DataRelation belongs.

ExtendedProperties

Ruft die Auflistung ab, in der angepasste Eigenschaften gespeichert werden.Gets the collection that stores customized properties.

Nested

Ruft einen Wert ab, der angibt, ob DataRelation-Objekte geschachtelt sind, oder legt diesen fest.Gets or sets a value that indicates whether DataRelation objects are nested.

ParentColumns

Ruft ein Array von DataColumn-Objekten ab, die die übergeordneten Spalten dieser DataRelation darstellen.Gets an array of DataColumn objects that are the parent columns of this DataRelation.

ParentKeyConstraint

Ruft die UniqueConstraint ab, durch die sichergestellt wird, dass Werte in der übergeordneten Spalte einer DataRelation eindeutig sind.Gets the UniqueConstraint that guarantees that values in the parent column of a DataRelation are unique.

ParentTable

Ruft das übergeordnete DataTable dieses DataRelation ab.Gets the parent DataTable of this DataRelation.

RelationName

Ruft den Namen ab, der zum Abrufen einer DataRelation aus der DataRelationCollection verwendet wird, oder legt diesen fest.Gets or sets the name used to retrieve a DataRelation from the DataRelationCollection.

Methoden

CheckStateForProperty()

Diese Methode unterstützt die .NET Framework-Infrastruktur und ist nicht für eine direkte Verwendung im Code vorgesehen.This method supports the .NET Framework infrastructure and is not intended to be used directly from your code.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
GetHashCode()

Dient als die Standard-HashfunktionServes as the default hash function.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
OnPropertyChanging(PropertyChangedEventArgs)

Dieser Member unterstützt die .NET Framework-Infrastruktur und ist nicht für die direkte Verwendung in Code vorgesehen.This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.

RaisePropertyChanging(String)

Dieser Member unterstützt die .NET Framework-Infrastruktur und ist nicht für die direkte Verwendung in Code vorgesehen.This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.

ToString()

Ruft den RelationName ab, sofern vorhanden.Gets the RelationName, if one exists.

Gilt für:

Threadsicherheit

Dieser Typ ist für multithreadlesevorgänge sicher.This type is safe for multithreaded read operations. Sie müssen alle Schreibvorgänge synchronisieren.You must synchronize any write operations.

Siehe auch