DataRelation DataRelation DataRelation DataRelation Class

Définition

Représente une relation de parent/enfant entre deux objets DataTable.Represents a parent/child relationship between two DataTable objects.

public ref class DataRelation
[System.ComponentModel.TypeConverter(typeof(System.Data.RelationshipConverter))]
[System.Serializable]
public class DataRelation
type DataRelation = class
Public Class DataRelation
Héritage
DataRelationDataRelationDataRelationDataRelation
Attributs

Exemples

L’exemple suivant crée un nouveau DataRelation et l’ajoute à la DataRelationCollection valeur de DataSet.The following example creates a new DataRelation and adds it to the DataRelationCollection of a 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 DataColumn par le biais d’objets.A DataRelation is used to relate two DataTable objects to each other through DataColumn objects. Par exemple, dans une relation Customer/Orders, la table Customers est le parent et la table Orders est l’enfant de la relation.For example, in a Customer/Orders relationship, the Customers table is the parent and the Orders table is the child of the relationship. Cela est similaire à une relation clé primaire/clé étrangère.This is similar to a primary key/foreign key relationship. Pour plus d’informations, consultez navigation dans les DataRelations.For more information, see Navigating DataRelations.

Les relations sont créées entre les colonnes correspondantes dans les tables parent et enfant.Relationships are created between matching columns in the parent and child tables. Autrement dit, la DataType valeur des deux colonnes doit être identique.That is, the DataType value for both columns must be identical.

Les relations peuvent également répercuter en cascade diverses DataRow modifications du parent vers ses lignes enfants.Relationships can also cascade various changes from the parent DataRow to its child rows. Pour contrôler la façon dont les valeurs sont modifiées dans les ForeignKeyConstraint ConstraintCollection lignes enfants, ajoutez un DataTable au de l’objet.To control how values are changed in child rows, add a ForeignKeyConstraint to the ConstraintCollection of the DataTable object. Le ConstraintCollection détermine l’action à effectuer lorsqu’une valeur dans une table parente est supprimée ou mise à jour.The ConstraintCollection determines what action to take when a value in a parent table is deleted or updated.

Lorsqu’un DataRelation est créé, il vérifie d’abord que la relation peut être établie.When a DataRelation is created, it first verifies that the relationship can be established. Une fois ajouté au DataRelationCollection, la relation est conservée en n’autorisant pas les modifications qui l’invalideront.After it is added to the DataRelationCollection, the relationship is maintained by disallowing any changes that would invalidate it. Entre le moment où un DataRelation est créé et ajouté DataRelationCollectionau, il est possible que des modifications supplémentaires soient apportées aux lignes parentes ou enfants.Between the period when a DataRelation is created and added to the DataRelationCollection, it is possible for additional changes to be made to the parent or child rows. Une exception est générée si cela provoque une relation qui n’est plus valide.An exception is generated if this causes a relationship that is no longer valid.

Notes

Une altération des données peut se produire si une relation bidirectionnelle est définie entre deux tables.Data corruption can occur if a bi-directional relation is defined between two tables. Une relation bidirectionnelle se compose de DataRelation deux objets qui utilisent les mêmes colonnes, avec les rôles parent-enfant basculés.A bi-directional relation consists of two DataRelation objects that use the same columns, with the parent-child roles switched. Aucune exception n’est levée lorsque DataRelation les objets sont enregistrés; Toutefois, une altération des données peut se produire.No exception is raised when the DataRelation objects are saved; however, data corruption can occur.

DataRelationles objets sont contenus dans DataRelationCollectionun, auquel vous pouvez accéder via Relations la propriété de DataSet, et les ChildRelations propriétés ParentRelations et de DataTable.DataRelation objects are contained in a DataRelationCollection, which you can access through the Relations property of the DataSet, and the ChildRelations and ParentRelations properties of the DataTable.

Constructeurs

DataRelation(String, DataColumn, DataColumn) DataRelation(String, DataColumn, DataColumn) DataRelation(String, DataColumn, DataColumn) 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.Initializes a new instance of the DataRelation class using the specified DataRelation name, and parent and child DataColumn objects.

DataRelation(String, DataColumn, DataColumn, Boolean) DataRelation(String, DataColumn, DataColumn, Boolean) DataRelation(String, DataColumn, DataColumn, Boolean) 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.Initializes a new instance of the DataRelation class using the specified name, parent and child DataColumn objects, and a value that indicates whether to create constraints.

DataRelation(String, DataColumn[], DataColumn[]) DataRelation(String, DataColumn[], DataColumn[]) DataRelation(String, DataColumn[], DataColumn[]) 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.Initializes a new instance of the DataRelation class using the specified DataRelation name and matched arrays of parent and child DataColumn objects.

DataRelation(String, DataColumn[], DataColumn[], Boolean) DataRelation(String, DataColumn[], DataColumn[], Boolean) DataRelation(String, DataColumn[], DataColumn[], Boolean) 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.Initializes a new instance of the DataRelation class using the specified name, matched arrays of parent and child DataColumn objects, and value that indicates whether to create constraints.

DataRelation(String, String, String, String, String, String[], String[], Boolean) DataRelation(String, String, String, String, String, String[], String[], Boolean) DataRelation(String, String, String, String, String, String[], String[], Boolean) 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.This constructor is provided for design time support in the Visual Studio environment.

DataRelation(String, String, String, String[], String[], Boolean) DataRelation(String, String, String, String[], String[], Boolean) DataRelation(String, String, String, String[], String[], Boolean) 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.This constructor is provided for design time support in the Visual Studio environment.

Propriétés

ChildColumns ChildColumns ChildColumns ChildColumns

Obtient les objets DataColumn enfants de cette relation.Gets the child DataColumn objects of this relation.

ChildKeyConstraint ChildKeyConstraint ChildKeyConstraint ChildKeyConstraint

Obtient le ForeignKeyConstraint de la relation.Gets the ForeignKeyConstraint for the relation.

ChildTable ChildTable ChildTable ChildTable

Obtient la table enfant de cette relation.Gets the child table of this relation.

DataSet DataSet DataSet DataSet

Obtient le DataSet auquel DataRelation appartient.Gets the DataSet to which the DataRelation belongs.

ExtendedProperties ExtendedProperties ExtendedProperties ExtendedProperties

Obtient la collection qui stocke des propriétés personnalisées.Gets the collection that stores customized properties.

Nested Nested Nested Nested

Obtient ou définit une valeur qui indique si les objets DataRelation sont imbriqués.Gets or sets a value that indicates whether DataRelation objects are nested.

ParentColumns ParentColumns ParentColumns ParentColumns

Obtient un tableau d'objets DataColumn qui sont les colonnes parentes de ce DataRelation.Gets an array of DataColumn objects that are the parent columns of this DataRelation.

ParentKeyConstraint ParentKeyConstraint ParentKeyConstraint ParentKeyConstraint

Obtient le UniqueConstraint qui garantit l'unicité des valeurs de la colonne parente d'un DataRelation.Gets the UniqueConstraint that guarantees that values in the parent column of a DataRelation are unique.

ParentTable ParentTable ParentTable ParentTable

Obtient le DataTable parent de ce DataRelation.Gets the parent DataTable of this DataRelation.

RelationName RelationName RelationName RelationName

Obtient ou définit le nom utilisé pour récupérer un DataRelation de DataRelationCollection.Gets or sets the name used to retrieve a DataRelation from the DataRelationCollection.

Méthodes

CheckStateForProperty() CheckStateForProperty() CheckStateForProperty() CheckStateForProperty()

Cette méthode prend en charge l'infrastructure .NET Framework et n'est pas destinée à être utilisée directement à partir de votre code.This method supports the .NET Framework infrastructure and is not intended to be used directly from your code.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Inherited from Object)
OnPropertyChanging(PropertyChangedEventArgs) OnPropertyChanging(PropertyChangedEventArgs) OnPropertyChanging(PropertyChangedEventArgs) OnPropertyChanging(PropertyChangedEventArgs)

Ce membre prend en charge l'infrastructure .NET Framework et n'est pas destiné à être utilisé directement à partir de votre code.This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.

RaisePropertyChanging(String) RaisePropertyChanging(String) RaisePropertyChanging(String) RaisePropertyChanging(String)

Ce membre prend en charge l'infrastructure .NET Framework et n'est pas destiné à être utilisé directement à partir de votre code.This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.

ToString() ToString() ToString() ToString()

Obtient le RelationName éventuel.Gets the RelationName, if one exists.

S’applique à

Cohérence de thread

Ce type est sécurisé pour les opérations de lecture multithread.This type is safe for multithreaded read operations. Vous devez synchroniser toutes les opérations d’écriture.You must synchronize any write operations.

Voir aussi