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

Nell'esempio seguente viene creato un DataRelation nuovo oggetto che viene aggiunto DataRelationCollection all'oggetto DataSetdi un oggetto.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

Un DataRelation oggetto viene utilizzato per correlare due DataTable oggetti tra loro DataColumn tramite oggetti.A DataRelation is used to relate two DataTable objects to each other through DataColumn objects. In una relazione Customer/Orders, ad esempio, 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. Questa operazione è simile a una relazione di chiave primaria/chiave esterna.This is similar to a primary key/foreign key relationship. Per ulteriori informazioni, vedere esplorazionedi oggetti DataRelation.For more information, see Navigating DataRelations.

Le relazioni vengono create tra le colonne corrispondenti delle tabelle padre e figlio.Relationships are created between matching columns in the parent and child tables. Ovvero, il valore DataType di entrambe le colonne deve essere identico.That is, the DataType value for both columns must be identical.

Le relazioni possono anche eseguire il propagazione DataRow di varie modifiche dal padre alle righe figlio.Relationships can also cascade various changes from the parent DataRow to its child rows. Per controllare la modalità di modifica dei valori nelle righe figlio, ForeignKeyConstraint aggiungere un ConstraintCollection DataTable oggetto all'oggetto dell'oggetto.To control how values are changed in child rows, add a ForeignKeyConstraint to the ConstraintCollection of the DataTable object. Determina ConstraintCollection l'azione da eseguire quando un valore in una tabella padre viene eliminato o aggiornato.The ConstraintCollection determines what action to take when a value in a parent table is deleted or updated.

Quando viene DataRelation creato un oggetto, verifica innanzitutto che la relazione possa essere stabilita.When a DataRelation is created, it first verifies that the relationship can be established. Una volta aggiunto a DataRelationCollection, la relazione viene mantenuta disabilitando eventuali modifiche che lo invalidano.After it is added to the DataRelationCollection, the relationship is maintained by disallowing any changes that would invalidate it. Tra il periodo in cui DataRelation un oggetto viene creato e aggiunto DataRelationCollectiona, è possibile che vengano apportate ulteriori modifiche 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. Viene generata un'eccezione se l'oggetto genera una relazione che non è più valida.An exception is generated if this causes a relationship that is no longer valid.

Nota

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

DataRelationgli oggetti sono contenuti in DataRelationCollectionun oggetto, a cui è possibile Relations accedere tramite la DataSetproprietà di e ChildRelations le ParentRelations proprietà e dell' DataTableoggetto.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 multithread.This type is safe for multithreaded read operations. È necessario sincronizzare le operazioni di scrittura.You must synchronize any write operations.

Vedi anche