Sdílet prostřednictvím


DataRelation Třída

Definice

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.

Viz také