DataRelation Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje vztah nadřazenosti/podřízenosti mezi dvěma DataTable objekty.
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
- Dědičnost
-
DataRelation
- Atributy
Příklady
Následující příklad vytvoří novou DataRelation a přidá ji do DataRelationCollection souboru 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
Poznámky
A DataRelation slouží k vzájemnému vzájemnému vztahu dvou DataTable objektů prostřednictvím DataColumn objektů. Například v relaci Zákazník/Objednávky je tabulka Customers nadřazená a tabulka Orders je podřízeným objektem relace. Podobá se tomu vztah primárního klíče nebo cizího klíče. Další informace najdete v tématu Navigace v datovýchrelations.
Relace se vytvářejí mezi odpovídajícími sloupci v nadřazených a podřízených tabulkách. To znamená, že DataType hodnota obou sloupců musí být stejná.
Relace můžou také kaskádovat různé změny z nadřazeného DataRow objektu na podřízené řádky. Chcete-li řídit, jak se hodnoty mění v podřízených řádcích, přidejte ForeignKeyConstraint do ConstraintCollection objektu DataTable . Určuje ConstraintCollection , jaká akce se má provést při odstranění nebo aktualizaci hodnoty v nadřazené tabulce.
DataRelation Při vytvoření nejprve ověří, že je možné vytvořit relaci. Po přidání do DataRelationCollectionrelace se relace zachovají zakázáním jakýchkoli změn, které by ji zneplatněly. Mezi obdobím DataRelation vytvoření a přidání do objektu DataRelationCollection, je možné provést další změny nadřazených nebo podřízených řádků. Pokud to způsobí, že relace, která už není platná, se vygeneruje výjimka.
Poznámka:
K poškození dat může dojít v případě, že je mezi dvěma tabulkami definován obousměrný vztah. Obousměrný vztah se skládá ze dvou DataRelation objektů, které používají stejné sloupce s přepnutou rolí nadřazeného a podřízeného objektu. Při DataRelation uložení objektů není vyvolána žádná výjimka. Může však dojít k poškození dat.
DataRelation objekty jsou obsaženy v objektu DataRelationCollection, který lze přistupovat prostřednictvím Relations vlastnosti DataSet, a ChildRelationsParentRelations vlastnosti DataTable.
Konstruktory
| Name | Description |
|---|---|
| DataRelation(String, DataColumn, DataColumn, Boolean) |
Inicializuje novou instanci třídy pomocí zadaného DataRelation názvu, nadřazeného a podřízeného DataColumn objektu a hodnoty, která označuje, zda se mají vytvořit omezení. |
| DataRelation(String, DataColumn, DataColumn) |
Inicializuje novou instanci DataRelation třídy pomocí zadaného DataRelation názvu a nadřazených a podřízených DataColumn objektů. |
| DataRelation(String, DataColumn[], DataColumn[], Boolean) |
Inicializuje novou instanci třídy pomocí zadaného DataRelation názvu, odpovídajících polí nadřazených a podřízených DataColumn objektů a hodnota, která označuje, zda se mají vytvořit omezení. |
| DataRelation(String, DataColumn[], DataColumn[]) |
Inicializuje novou instanci DataRelation třídy pomocí zadaného DataRelation názvu a odpovídající pole nadřazených a podřízených DataColumn objektů. |
| DataRelation(String, String, String, String, String, String[], String[], Boolean) |
Tento konstruktor je k dispozici pro podporu doby návrhu v prostředí sady Visual Studio. |
| DataRelation(String, String, String, String[], String[], Boolean) |
Tento konstruktor je k dispozici pro podporu doby návrhu v prostředí sady Visual Studio. |
Vlastnosti
| Name | Description |
|---|---|
| ChildColumns |
Získá podřízené DataColumn objekty této relace. |
| ChildKeyConstraint |
ForeignKeyConstraint Získá vztah. |
| ChildTable |
Získá podřízenou tabulku této relace. |
| DataSet |
DataSet Získá, do které DataRelation patří. |
| ExtendedProperties |
Získá kolekci, která ukládá přizpůsobené vlastnosti. |
| Nested |
Získá nebo nastaví hodnotu, která označuje, zda DataRelation objekty jsou vnořené. |
| ParentColumns |
Získá pole DataColumn objektů, které jsou nadřazené sloupce tohoto DataRelation. |
| ParentKeyConstraint |
UniqueConstraint Získá, který zaručuje, že hodnoty v nadřazené sloupci objektu DataRelation jsou jedinečné. |
| ParentTable |
Získá nadřazený DataTable objekt tohoto DataRelation. |
| RelationName |
Získá nebo nastaví název použitý k načtení DataRelation z objektu DataRelationCollection. |
Metody
| Name | Description |
|---|---|
| CheckStateForProperty() |
Tato metoda podporuje infrastrukturu .NET a není určená k použití přímo z vašeho kódu. |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| OnPropertyChanging(PropertyChangedEventArgs) |
Tento člen podporuje infrastrukturu .NET a není určen k použití přímo z vašeho kódu. |
| RaisePropertyChanging(String) |
Tento člen podporuje infrastrukturu .NET a není určen k použití přímo z vašeho kódu. |
| ToString() |
Získá , RelationNamepokud existuje. |
Platí pro
Bezpečný přístup z více vláken
Tento typ je bezpečný pro operace čtení s více vlákny. Je nutné synchronizovat všechny operace zápisu.