DataRelation DataRelation DataRelation DataRelation Class

Definizione

Rappresenta una relazione padre/figlio tra due oggetti 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
Ereditarietà
DataRelationDataRelationDataRelationDataRelation
Attributi

Esempi

L'esempio seguente crea una nuova DataRelation e lo aggiunge al DataRelationCollection di un 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

Commenti

Oggetto DataRelation consente di correlare due DataTable oggetti tra loro tramite DataColumn oggetti.A DataRelation is used to relate two DataTable objects to each other through DataColumn objects. Ad esempio, in una relazione di Customer/ordini, la tabella Customers è l'elemento padre e la tabella Orders è l'elemento figlio della relazione.For example, in a Customer/Orders relationship, the Customers table is the parent and the Orders table is the child of the relationship. Ciò è simile a una relazione chiave primaria/esterna principale.This is similar to a primary key/foreign key relationship. Per altre informazioni, vedere esplorazione oggetti DataRelation.For more information, see Navigating DataRelations.

Vengono create relazioni tra le colonne corrispondente delle tabelle padre e figlio.Relationships are created between matching columns in the parent and child tables. Vale a dire il DataType valore per entrambe le colonne devono essere identiche.That is, the DataType value for both columns must be identical.

Le relazioni possono inoltre propagare le modifiche diversi dall'elemento padre DataRow alle righe figlio.Relationships can also cascade various changes from the parent DataRow to its child rows. Per controllare come vengono modificati i valori nelle righe figlio, aggiungere un ForeignKeyConstraint per il ConstraintCollection del DataTable oggetto.To control how values are changed in child rows, add a ForeignKeyConstraint to the ConstraintCollection of the DataTable object. Il ConstraintCollection determina l'azione da intraprendere quando un valore in una tabella padre viene eliminata o aggiornata.The ConstraintCollection determines what action to take when a value in a parent table is deleted or updated.

Quando un DataRelation viene creato, verifica innanzitutto che sia possibile stabilire la relazione.When a DataRelation is created, it first verifies that the relationship can be established. Dopo l'aggiunta al DataRelationCollection, la relazione viene mantenuta disabilitando le eventuali modifiche potrebbero invalidarla.After it is added to the DataRelationCollection, the relationship is maintained by disallowing any changes that would invalidate it. L'intervallo di tempo tra quando un DataRelation viene creato e aggiunto al DataRelationCollection, è possibile che altre modifiche da apportare alle righe padre o figlio.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. Se in questo modo una relazione che non è più valida, viene generata un'eccezione.An exception is generated if this causes a relationship that is no longer valid.

Nota

Se viene definita una relazione bidirezionale tra due tabelle, può verificarsi un danneggiamento dei dati.Data corruption can occur if a bi-directional relation is defined between two tables. Una relazione bidirezionale è costituito da due DataRelation oggetti che utilizzano le stesse colonne, con i ruoli di padre-figlio invertiti.A bi-directional relation consists of two DataRelation objects that use the same columns, with the parent-child roles switched. Viene generata alcuna eccezione quando il DataRelation gli oggetti vengono salvati, tuttavia, può verificarsi un danneggiamento dei dati.No exception is raised when the DataRelation objects are saved; however, data corruption can occur.

DataRelation gli oggetti sono contenuti un DataRelationCollection, che è possibile accedere tramite il Relations proprietà delle DataSete il ChildRelations e ParentRelations le proprietà del 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.

Costruttori

DataRelation(String, DataColumn, DataColumn) DataRelation(String, DataColumn, DataColumn) DataRelation(String, DataColumn, DataColumn) DataRelation(String, DataColumn, DataColumn)

Inizializza una nuova istanza della classe DataRelation utilizzando il nome dell'oggetto DataRelation specificato e gli oggetti DataColumn padre e figlio.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)

Inizializza una nuova istanza della classe DataRelation utilizzando il nome specificato, gli oggetti DataColumn padre e figlio e un valore che indica se creare vincoli.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[])

Inizializza una nuova istanza della classe DataRelation utilizzando il nome dell'oggetto DataRelation specificato e le matrici corrispondenti di oggetti DataColumn padre e figlio.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)

Inizializza una nuova istanza della classe DataRelation utilizzando il nome specificato, le matrici corrispondenti di oggetti DataColumn padre e figlio e un valore che indica se creare vincoli.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)

Questo costruttore viene fornito per il supporto in fase di progettazione nell'ambiente 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)

Questo costruttore viene fornito per il supporto in fase di progettazione nell'ambiente Visual Studio.This constructor is provided for design time support in the Visual Studio environment.

Proprietà

ChildColumns ChildColumns ChildColumns ChildColumns

Ottiene gli oggetti DataColumn figlio di questa relazione.Gets the child DataColumn objects of this relation.

ChildKeyConstraint ChildKeyConstraint ChildKeyConstraint ChildKeyConstraint

Ottiene l'oggetto ForeignKeyConstraint per la relazione.Gets the ForeignKeyConstraint for the relation.

ChildTable ChildTable ChildTable ChildTable

Ottiene la tabella figlio di questa relazione.Gets the child table of this relation.

DataSet DataSet DataSet DataSet

Ottiene l'oggetto DataSet a cui appartiene l'oggetto DataRelation.Gets the DataSet to which the DataRelation belongs.

ExtendedProperties ExtendedProperties ExtendedProperties ExtendedProperties

Ottiene l'insieme in cui vengono memorizzate le proprietà personalizzate.Gets the collection that stores customized properties.

Nested Nested Nested Nested

Ottiene o imposta un valore che indica se gli oggetti DataRelation sono annidati.Gets or sets a value that indicates whether DataRelation objects are nested.

ParentColumns ParentColumns ParentColumns ParentColumns

Ottiene una matrice di oggetti DataColumn che rappresentano le colonne padre di questo oggetto DataRelation.Gets an array of DataColumn objects that are the parent columns of this DataRelation.

ParentKeyConstraint ParentKeyConstraint ParentKeyConstraint ParentKeyConstraint

Ottiene la classe UniqueConstraint che garantisce che i valori nella colonna padre di una classe DataRelation siano univoci.Gets the UniqueConstraint that guarantees that values in the parent column of a DataRelation are unique.

ParentTable ParentTable ParentTable ParentTable

Ottiene l'elemento padre DataTable di DataRelation.Gets the parent DataTable of this DataRelation.

RelationName RelationName RelationName RelationName

Ottiene o imposta il nome utilizzato per recuperare un oggetto DataRelation dall'insieme DataRelationCollection.Gets or sets the name used to retrieve a DataRelation from the DataRelationCollection.

Metodi

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

Questo metodo supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.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)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

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

Funge da funzione hash predefinita.Serves as the default hash function.

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

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

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

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

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

Questo membro supporta l'infrastruttura .NET Framework e non è possibile usarlo direttamente dal codice.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)

Questo membro supporta l'infrastruttura .NET Framework e non è possibile usarlo direttamente dal codice.This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.

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

Ottiene la proprietà RelationName, se disponibile.Gets the RelationName, if one exists.

Si applica a

Thread safety

Questo tipo è sicuro per le operazioni di lettura a thread multipli.This type is safe for multithreaded read operations. È necessario sincronizzare qualsiasi operazione di scrittura.You must synchronize any write operations.

Vedi anche