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 à la valeur DataRelationCollection de 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 relier deux DataTable objets les uns aux autres par le biais d' DataColumn objets. Par exemple, dans une relation Customer/Orders, 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 les DataRelations.

Les 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 répercuter 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 au ConstraintCollection de l' DataTable objet. Le ConstraintCollection détermine l’action à effectuer lorsqu’une valeur dans 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 ajouté au DataRelationCollection , la relation est conservée en n’autorisant pas les modifications qui l’invalideront. Entre le moment où un DataRelation est créé et ajouté au DataRelationCollection , il est possible que des modifications supplémentaires soient apportées 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 basculés. Aucune exception n’est levée lorsque les DataRelation objets sont enregistrés ; Toutefois, une altération des données peut se produire.

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