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 à l’objet DataRelationCollection 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 entre eux DataTable par le biais DataColumn d’objets. Par exemple, dans une relation Customer/Orders, la table Customers est le parent et la table Orders est l’enfant de la relation. Il s’agit d’une relation de clé primaire/de clé étrangère. Pour plus d’informations, consultez Navigation dans DataRelations.

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

Les relations peuvent également cascader différentes modifications du parent DataRow à ses lignes enfants. Pour contrôler la façon dont les valeurs sont modifiées dans les lignes enfants, ajoutez a ForeignKeyConstraint l’objet ConstraintCollection DataTable . Détermine ConstraintCollection l’action à effectuer lorsqu’une valeur dans une table parente est supprimée ou mise à jour.

Lorsqu’un est DataRelation créé, il vérifie d’abord que la relation peut être établie. Une fois qu’elle est ajoutée au DataRelationCollection, la relation est conservée en désallonçant toutes les modifications qui l’invalideraient. Entre la période à laquelle un est DataRelation créé et ajouté à celui-ci DataRelationCollection, il est possible que des modifications supplémentaires soient apportées aux lignes parent ou enfant. Une exception est générée si cela provoque une relation qui n’est plus valide.

Notes

La corruption 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 changés. Aucune exception n’est levée lorsque les objets sont enregistrés ; toutefois, la DataRelation corruption des données peut se produire.

DataRelationles objets sont contenus dans un DataRelationCollection, que vous pouvez accéder via la Relations propriété du DataSet, et les propriétés et ParentRelations les ChildRelations propriétés du 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