DataRelation Třída

Definice

Představuje vztah nadřazený-podřízený mezi dvěma DataTable objekty.Represents a parent/child relationship between two DataTable objects.

public ref class DataRelation
[System.ComponentModel.TypeConverter(typeof(System.Data.RelationshipConverter))]
[System.Serializable]
public class DataRelation
type DataRelation = class
Public Class DataRelation
Dědičnost
DataRelation
Atributy

Příklady

Následující příklad vytvoří nový DataRelation a přidá jej DataRelationCollection do DataSet.The following example creates a new DataRelation and adds it to the DataRelationCollection of a 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ží k vzájemnému propojení dvou DataTable objektů přes DataColumn objekty. DataRelationA DataRelation is used to relate two DataTable objects to each other through DataColumn objects. Například ve vztahu Customer/Orders je tabulka Customers nadřazená a tabulka Orders je podřízenosti vztahu.For example, in a Customer/Orders relationship, the Customers table is the parent and the Orders table is the child of the relationship. Vypadá to podobně jako u vztahu primárního klíče nebo cizího klíče.This is similar to a primary key/foreign key relationship. Další informace najdete v tématu navigace meziDataRelations.For more information, see Navigating DataRelations.

Vytvoří se relace mezi sloupci v nadřazené a podřízené tabulce.Relationships are created between matching columns in the parent and child tables. To znamená, DataType že hodnota pro oba sloupce musí být shodná.That is, the DataType value for both columns must be identical.

Vztahy mezi nadřazenými DataRow a podřízenými jednotlivými řádky mohou také proměnit.Relationships can also cascade various changes from the parent DataRow to its child rows. Chcete-li určit, jak se hodnoty mění v podřízených ForeignKeyConstraint řádcích, ConstraintCollection přidejte do DataTable objektu.To control how values are changed in child rows, add a ForeignKeyConstraint to the ConstraintCollection of the DataTable object. Určuje ConstraintCollection , jaká akce má být provedena, když je odstraněna nebo aktualizována hodnota v nadřazené tabulce.The ConstraintCollection determines what action to take when a value in a parent table is deleted or updated.

DataRelation Při vytvoření se nejprve ověří, jestli je možné vytvořit relaci.When a DataRelation is created, it first verifies that the relationship can be established. Po přidání do DataRelationCollectionnástroje se vztah udržuje tak, že nepovolí žádné změny, které by ho neověřil.After it is added to the DataRelationCollection, the relationship is maintained by disallowing any changes that would invalidate it. Mezi obdobím DataRelationCollection, kdy DataRelation se vytvoří a přidá do, je možné provést další změny v nadřazených nebo podřízených řádcích.Between the period when a DataRelation is created and added to the DataRelationCollection, it is possible for additional changes to be made to the parent or child rows. Výjimka je vygenerována, pokud to způsobí, že relace již není platná.An exception is generated if this causes a relationship that is no longer valid.

Poznámka

Poškození dat může nastat, pokud je mezi dvěma tabulkami definován obousměrný vztah.Data corruption can occur if a bi-directional relation is defined between two tables. Obousměrný vztah se skládá ze dvou DataRelation objektů, které používají stejné sloupce a role typu nadřazený-podřízený byly přepnuty.A bi-directional relation consists of two DataRelation objects that use the same columns, with the parent-child roles switched. Při DataRelation uložení objektů není vyvolána žádná výjimka. může však dojít k poškození dat.No exception is raised when the DataRelation objects are saved; however, data corruption can occur.

DataRelationDataRelationCollectionobjekty jsou obsaženy v, ke kterému můžete přistupovat Relations prostřednictvím DataSetvlastnosti ChildRelations a a vlastností DataTablea ParentRelations .DataRelation objects are contained in a DataRelationCollection, which you can access through the Relations property of the DataSet, and the ChildRelations and ParentRelations properties of the 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ů.Initializes a new instance of the DataRelation class using the specified DataRelation name, and parent and child DataColumn objects.

DataRelation(String, DataColumn, DataColumn, Boolean)

Inicializuje novou instanci DataRelation třídy pomocí zadaného názvu, nadřazených a podřízených DataColumn objektů a hodnoty, která označuje, jestli se mají vytvořit omezení.Initializes a new instance of the DataRelation class using the specified name, parent and child DataColumn objects, and a value that indicates whether to create constraints.

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ů.Initializes a new instance of the DataRelation class using the specified DataRelation name and matched arrays of parent and child DataColumn objects.

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á označuje, jestli se mají vytvořit omezení.Initializes a new instance of the DataRelation class using the specified name, matched arrays of parent and child DataColumn objects, and value that indicates whether to create constraints.

DataRelation(String, String, String, String, String, String[], String[], Boolean)

Tento konstruktor je poskytován pro podporu pro dobu návrhu v prostředí sady Visual Studio.This constructor is provided for design time support in the Visual Studio environment.

DataRelation(String, String, String, String[], String[], Boolean)

Tento konstruktor je poskytován pro podporu pro dobu návrhu v prostředí sady Visual Studio.This constructor is provided for design time support in the Visual Studio environment.

Vlastnosti

ChildColumns

Získá podřízené DataColumn objekty této relace.Gets the child DataColumn objects of this relation.

ChildKeyConstraint

Získá vztah ForeignKeyConstraint pro relaci.Gets the ForeignKeyConstraint for the relation.

ChildTable

Získá podřízenou tabulku této relace.Gets the child table of this relation.

DataSet

Získá, DataSet ke DataRelation kterému patří.Gets the DataSet to which the DataRelation belongs.

ExtendedProperties

Získá kolekci, která ukládá přizpůsobené vlastnosti.Gets the collection that stores customized properties.

Nested

Získává nebo nastavuje hodnotu, která indikuje, DataRelation jestli jsou objekty vnořené.Gets or sets a value that indicates whether DataRelation objects are nested.

ParentColumns

Získá pole DataColumn objektů, které jsou nadřazenými sloupci tohoto DataRelation.Gets an array of DataColumn objects that are the parent columns of this DataRelation.

ParentKeyConstraint

Získá, který zaručuje, že hodnoty v nadřazeném sloupci DataRelation objektu jsou jedinečné. UniqueConstraintGets the UniqueConstraint that guarantees that values in the parent column of a DataRelation are unique.

ParentTable

Získá nadřazenou DataTable položku this DataRelation.Gets the parent DataTable of this DataRelation.

RelationName

Získá nebo nastaví název, který se použije k DataRelation načtení DataRelationCollectionz.Gets or sets the name used to retrieve a DataRelation from the DataRelationCollection.

Metody

CheckStateForProperty()

Tato metoda podporuje infrastrukturu .NET Framework a není určena pro použití přímo v kódu.This method supports the .NET Framework infrastructure and is not intended to be used directly from your code.

Equals(Object)

Určuje, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.Serves as the default hash function.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.Gets the Type of the current instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří kopii aktuálního Objectbez podstruktury.Creates a shallow copy of the current Object.

(Zděděno od Object)
OnPropertyChanging(PropertyChangedEventArgs)

Tento člen podporuje infrastrukturu rozhraní .NET Framework a není určen pro použití přímo v kódu.This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.

RaisePropertyChanging(String)

Tento člen podporuje infrastrukturu rozhraní .NET Framework a není určen pro použití přímo v kódu.This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.

ToString()

RelationNameZíská, pokud jedna existuje.Gets the RelationName, if one exists.

Platí pro

Bezpečný přístup z více vláken

Tento typ je bezpečný pro operace čtení ve více vláknech.This type is safe for multithreaded read operations. Je nutné synchronizovat všechny operace zápisu.You must synchronize any write operations.

Viz také