DataRelation Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.