DataRelation Třída

Definice

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.

Viz také