DataRelation DataRelation DataRelation DataRelation Class

Definition

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

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

Beispiele

Im folgenden Beispiel wird ein neuer DataRelation erstellt und dem DataRelationCollection DataSeteiner hinzugefü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

Eine 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 in die 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 ForeignKeyConstraint , fügen ConstraintCollection Sie dem DataTable des-Objekts ein hinzu.To control how values are changed in child rows, add a ForeignKeyConstraint to the ConstraintCollection of the DataTable object. 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 Sie hinzugefügt DataRelationCollectionwurde, wird die Beziehung beibehalten, indem alle Änderungen, die Sie 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 DataRelation dem ein erstellt und dem 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 DataRelation zwei 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, DataRelation wenn die 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 einem DataRelationCollectionenthalten, auf den Sie über die Relations -Eigenschaft von DataSetund die- ChildRelations Eigenschaft ParentRelations und die- DataTableEigenschaft von zugreifen 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) DataRelation(String, DataColumn, DataColumn) DataRelation(String, DataColumn, DataColumn) 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) DataRelation(String, DataColumn, DataColumn, Boolean) DataRelation(String, DataColumn, DataColumn, Boolean) 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[]) DataRelation(String, DataColumn[], DataColumn[]) DataRelation(String, DataColumn[], DataColumn[]) 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) DataRelation(String, DataColumn[], DataColumn[], Boolean) DataRelation(String, DataColumn[], DataColumn[], Boolean) 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) DataRelation(String, String, String, String, String, String[], String[], Boolean) DataRelation(String, String, String, String, String, String[], String[], Boolean) 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) DataRelation(String, String, String, String[], String[], Boolean) DataRelation(String, String, String, String[], String[], Boolean) 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 ChildColumns ChildColumns ChildColumns

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

ChildKeyConstraint ChildKeyConstraint ChildKeyConstraint ChildKeyConstraint

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

ChildTable ChildTable ChildTable ChildTable

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

DataSet DataSet DataSet DataSet

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

ExtendedProperties ExtendedProperties ExtendedProperties ExtendedProperties

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

Nested Nested Nested 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 ParentColumns ParentColumns 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 ParentKeyConstraint ParentKeyConstraint 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 ParentTable ParentTable ParentTable

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

RelationName RelationName RelationName 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() CheckStateForProperty() CheckStateForProperty() 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) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
OnPropertyChanging(PropertyChangedEventArgs) OnPropertyChanging(PropertyChangedEventArgs) OnPropertyChanging(PropertyChangedEventArgs) 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) RaisePropertyChanging(String) RaisePropertyChanging(String) 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() ToString() ToString() 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