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 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.