DataRelation, classe (System.Data)

Changer de vue:
ScriptFree
Bibliothèque de classes .NET Framework
DataRelation, classe

Représente une relation parent/enfant entre deux objets DataTable.

Espace de noms : System.Data
Assembly : System.Data (dans system.data.dll)

Syntaxe

Visual Basic (Déclaration)
Public Class DataRelation
Visual Basic (Utilisation)
Dim instance As DataRelation

C#
public class DataRelation
C++
public ref class DataRelation
J#
public class DataRelation
JScript
public class DataRelation
Notes

DataRelation est utilisé pour lier deux objets DataTable entre eux à l'aide d'objets DataColumn. Par exemple, dans une relation Customers/Orders, la table Customers est le parent et la table Orders est l'enfant de la relation. Cette relation est similaire à une relation de clé primaire/clé étrangère. Pour plus d'informations, consultez Exploration d'une relation entre tables.

Des relations sont créées entre les colonnes correspondantes des tables parente et enfant. Cela signifie que la valeur DataType des deux colonnes doit être identique.

Les relations peuvent également répercuter en cascade différentes modifications du DataRow parent à ses lignes enfants. Pour contrôler la manière dont les valeurs sont modifiées dans les lignes, ajoutez ForeignKeyConstraint au ConstraintCollection de l'objet DataTable. ConstraintCollection détermine l'action à effectuer lorsqu'une valeur de la table parente est supprimée ou mise à jour.

Lorsque DataRelation est créé, il vérifie d'abord que la relation peut être établie. Une fois ajoutée à DataRelationCollection, la relation est préservée en interdisant toute modification susceptible de l'invalider. Entre le moment de la création de DataRelation et son ajout à DataRelationCollection, il est possible d'apporter des modifications supplémentaires aux lignes parentes ou enfants. Une exception est générée si cela entraîne une relation qui n'est plus valide.

Les objets DataRelation sont contenus dans le DataRelationCollection auquel vous pouvez accéder à l'aide de la propriété Relations de DataSet, ainsi que des propriétés ChildRelations et ParentRelations de DataTable.

Exemple

L'exemple suivant crée un nouveau DataRelation et l'ajoute au DataRelationCollection de DataSet.

Visual Basic
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

C#
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);
}

Hiérarchie d'héritage

System.Object
  System.Data.DataRelation
Sécurité des threads

Ce type est sécurisé pour les opérations de lecture multithread. Vous devez synchroniser les opérations d'écriture.

Plates-formes

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

Informations de version

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

.NET Compact Framework

Prise en charge dans : 2.0, 1.0
Voir aussi