Assembly : System.Data (dans system.data.dll)
Public Class DataRelation
Dim instance As DataRelation
public class DataRelation
public ref class DataRelation
public class DataRelation
public class DataRelation
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.
L'exemple suivant crée un nouveau DataRelation et l'ajoute au DataRelationCollection de DataSet.
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
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); }
System.Data.DataRelation
Ce type est sécurisé pour les opérations de lecture multithread. Vous devez synchroniser les opérations d'écriture.
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.