Partager via


DataRelation Classe

Définition

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

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
Héritage
DataRelation
Attributs

Exemples

L’exemple suivant crée un nouveau DataRelation et l’ajoute DataRelationCollection au d’un 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

Remarques

Un DataRelation est utilisé pour lier deux objets l’un DataTable à l’autre par le biais DataColumn d’objets. Par exemple, dans une relation Client/Commandes, la table Customers est le parent et la table Orders est l’enfant de la relation. Cela est similaire à une relation clé primaire/clé étrangère. Pour plus d’informations, consultez Navigation dans DataRelations.

Des relations sont créées entre les colonnes correspondantes dans les tables parent et enfant. Autrement dit, la DataType valeur des deux colonnes doit être identique.

Les relations peuvent également mettre en cascade diverses modifications du parent DataRow vers ses lignes enfants. Pour contrôler la façon dont les valeurs sont modifiées dans les lignes enfants, ajoutez un ForeignKeyConstraint à l’objet ConstraintCollectionDataTable . détermine ConstraintCollection l’action à entreprendre lorsqu’une valeur d’une table parente est supprimée ou mise à jour.

Lorsqu’un DataRelation est créé, il vérifie d’abord que la relation peut être établie. Une fois qu’elle a été ajoutée à , DataRelationCollectionla relation est maintenue en refusant toute modification qui l’invaliderait. Entre la période où un DataRelation est créé et ajouté à , DataRelationCollectionil est possible d’apporter des modifications supplémentaires aux lignes parentes ou enfants. Une exception est générée si cela provoque une relation qui n’est plus valide.

Notes

Une altération des données peut se produire si une relation bidirectionnelle est définie entre deux tables. Une relation bidirectionnelle se compose de deux DataRelation objets qui utilisent les mêmes colonnes, avec les rôles parent-enfant commutés. Aucune exception n’est levée lorsque les DataRelation objets sont enregistrés ; toutefois, une altération des données peut se produire.

DataRelationles objets sont contenus dans un DataRelationCollectionobjet , auquel vous pouvez accéder via la Relations propriété de , DataSetet les ChildRelations propriétés et ParentRelations de .DataTable

Constructeurs

DataRelation(String, DataColumn, DataColumn)

Initialise une nouvelle instance de la classe DataRelation avec le nom DataRelation spécifié, ainsi que les objets DataColumn parent et enfant.

DataRelation(String, DataColumn, DataColumn, Boolean)

Initialise une nouvelle instance de la classe DataRelation avec le nom spécifié, les objets DataColumn parent et enfant, ainsi qu'une valeur qui indique s'il convient de créer des contraintes.

DataRelation(String, DataColumn[], DataColumn[])

Initialise une nouvelle instance de la classe DataRelation avec le nom DataRelation spécifié, ainsi que les tableaux d'objets DataColumn parent et enfant correspondants.

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

Initialise une nouvelle instance de la classe DataRelation avec le nom spécifié, les tableaux d'objets DataColumn parent et enfant correspondants, ainsi qu'une valeur qui indique s'il convient de créer des contraintes.

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

Ce constructeur est fourni pour assurer la prise en charge au moment du design dans l'environnement Visual Studio.

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

Ce constructeur est fourni pour assurer la prise en charge au moment du design dans l'environnement Visual Studio.

Propriétés

ChildColumns

Obtient les objets DataColumn enfants de cette relation.

ChildKeyConstraint

Obtient le ForeignKeyConstraint de la relation.

ChildTable

Obtient la table enfant de cette relation.

DataSet

Obtient le DataSet auquel DataRelation appartient.

ExtendedProperties

Obtient la collection qui stocke des propriétés personnalisées.

Nested

Obtient ou définit une valeur qui indique si les objets DataRelation sont imbriqués.

ParentColumns

Obtient un tableau d'objets DataColumn qui sont les colonnes parentes de ce DataRelation.

ParentKeyConstraint

Obtient le UniqueConstraint qui garantit l'unicité des valeurs de la colonne parente d'un DataRelation.

ParentTable

Obtient le DataTable parent de ce DataRelation.

RelationName

Obtient ou définit le nom utilisé pour récupérer un DataRelation de DataRelationCollection.

Méthodes

CheckStateForProperty()

Cette méthode prend en charge l’infrastructure .NET. Elle n’est pas destinée à être utilisée directement à partir de votre code.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
OnPropertyChanging(PropertyChangedEventArgs)

Ce membre prend en charge l’infrastructure .NET. Il n’est pas destiné à être utilisé directement à partir de votre code.

RaisePropertyChanging(String)

Ce membre prend en charge l’infrastructure .NET. Il n’est pas destiné à être utilisé directement à partir de votre code.

ToString()

Obtient le RelationName éventuel.

S’applique à

Cohérence de thread

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

Voir aussi