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 a 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ří nový DataRelation a přidá ho do DataRelationCollection .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
Slouží DataRelation k vzájemnému spojení dvou DataTable objektů prostřednictvím DataColumn objektů. Například v relaci Zákazník/Objednávky je tabulka Zákazníci nadřazenou tabulkou a tabulka Objednávky je podřízeným objektem relace. Podobá se relaci primárního klíče a cizího klíče. Další informace najdete v tématu Navigating DataRelations.
Relace se vytvářejí mezi odpovídajícími sloupci v nadřazené a podřízené tabulce. To znamená, že DataType hodnota obou sloupců musí být stejná.
Relace mohou také kaskádovat různé změny z nadřazeného DataRow do podřízených řádků. Pokud chcete určit, jak se mění hodnoty v podřízených řádcích, přidejte ForeignKeyConstraint do objektu ConstraintCollection objekt .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í se nejprve ověří, že je možné vytvořit relaci. Po přidání do DataRelationCollectionse vztah zachová tak, že zakáže všechny změny, které by ji zneplatní. Mezi obdobím, kdy DataRelation je vytvořen a přidán do DataRelationCollection, je možné provést další změny v nadřazených nebo podřízených řádcích. Výjimka se vygeneruje, pokud to způsobí vztah, který už není platný.
Poznámka
K poškození dat může dojít, pokud je mezi dvěma tabulkami definovaná obousměrná relace. Obousměrná relace se skládá ze dvou DataRelation
objektů, které používají stejné sloupce, s přepnutím rolí nadřazený-podřízený. Při DataRelation
uložení objektů není vyvolána žádná výjimka, ale může dojít k poškození dat.
DataRelation Objekty jsou obsaženy v objektu DataRelationCollection, ke kterému můžete přistupovat prostřednictvím Relations vlastnosti objektu DataSeta ChildRelations vlastností a ParentRelations objektu DataTable.
Konstruktory
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, nadřazených a podřízených DataColumn objektů a hodnoty, která označuje, zda vytvořit omezení. |
DataRelation(String, DataColumn[], DataColumn[]) |
Inicializuje novou instanci DataRelation třídy pomocí zadaného DataRelation názvu a odpovídajících polí nadřazených a podřízených DataColumn objektů. |
DataRelation(String, DataColumn[], DataColumn[], Boolean) |
Inicializuje novou instanci DataRelation třídy pomocí zadaného názvu, odpovídajících polí nadřazených a podřízených DataColumn objektů a hodnoty, která určuje, zda vytvořit omezení. |
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
ChildColumns |
Získá podřízené DataColumn objekty tohoto vztahu. |
ChildKeyConstraint |
ForeignKeyConstraint Získá pro relaci . |
ChildTable |
Získá podřízenou tabulku této relace. |
DataSet |
Získá objekt , DataSet do kterého DataRelation patří. |
ExtendedProperties |
Získá kolekci, která ukládá přizpůsobené vlastnosti. |
Nested |
Získá nebo nastaví hodnotu, která označuje, zda DataRelation jsou objekty vnořené. |
ParentColumns |
Získá pole DataColumn objektů, které jsou nadřazené sloupce tohoto DataRelationobjektu . |
ParentKeyConstraint |
UniqueConstraint Získá, který zaručuje, že hodnoty v nadřazený sloupec objektu DataRelation jsou jedinečné. |
ParentTable |
Získá nadřazený DataTable objekt tohoto DataRelationobjektu . |
RelationName |
Získá nebo nastaví název použitý k načtení objektu DataRelation z objektu DataRelationCollection. |
Metody
CheckStateForProperty() |
Tato metoda podporuje infrastrukturu .NET a není určená k použití přímo z vašeho kódu. |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (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() |
RelationNameZíská , pokud existuje. |
Platí pro
Bezpečný přístup z více vláken
Tento typ je bezpečný pro operace čtení ve více vláknech. Je nutné synchronizovat všechny operace zápisu.