Condividi tramite


DataRelation Classe

Definizione

Rappresenta una relazione padre/figlio tra due DataTable oggetti.

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
Ereditarietà
DataRelation
Attributi

Esempio

Nell'esempio seguente viene creato un nuovo DataRelation oggetto e viene aggiunto all'oggetto DataRelationCollection di un oggetto 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 tramite DataColumn oggetti . Ad esempio, in una relazione Customer/Orders, la tabella Customers è l'elemento padre e la tabella Orders è l'elemento figlio della relazione. È simile a una relazione chiave primaria/chiave esterna. Per altre informazioni, vedere Esplorazione di dataRelations.

Le relazioni vengono create tra colonne corrispondenti nelle tabelle padre e figlio. Ovvero, il DataType valore per entrambe le colonne deve essere identico.

Le relazioni possono anche propagare varie modifiche dall'elemento padre DataRow alle righe figlio. Per controllare la modifica dei valori nelle righe figlio, aggiungere un ForeignKeyConstraint oggetto all'oggetto ConstraintCollection dell'oggetto DataTable . Determina ConstraintCollection l'azione da eseguire quando un valore in una tabella padre viene eliminato o aggiornato.

Quando un oggetto DataRelation viene creato, verifica innanzitutto che la relazione possa essere stabilita. Dopo l'aggiunta DataRelationCollectiona , la relazione viene mantenuta non consentendo le modifiche che lo invalidano. Tra il periodo in cui DataRelation viene creato e aggiunto a DataRelationCollection, è possibile apportare modifiche aggiuntive alle righe padre o figlio. Se si verifica una relazione non più valida, viene generata un'eccezione.

Annotazioni

Il danneggiamento dei dati può verificarsi se viene definita una relazione bidirezionale tra due tabelle. Una relazione bidirezionale è costituita da due DataRelation oggetti che usano le stesse colonne, con i ruoli padre-figlio passati. Non viene generata alcuna eccezione quando gli DataRelation oggetti vengono salvati. Tuttavia, il danneggiamento dei dati può verificarsi.

DataRelation gli oggetti sono contenuti in un DataRelationCollectionoggetto , a cui è possibile accedere tramite la Relations proprietà dell'oggetto DataSete le ChildRelations proprietà e ParentRelations di DataTable.

Costruttori

Nome Descrizione
DataRelation(String, DataColumn, DataColumn, Boolean)

Inizializza una nuova istanza della DataRelation classe utilizzando il nome, gli oggetti padre e figlio DataColumn specificati e un valore che indica se creare vincoli.

DataRelation(String, DataColumn, DataColumn)

Inizializza una nuova istanza della DataRelation classe utilizzando il nome e gli oggetti padre e figlio DataColumn specificatiDataRelation.

DataRelation(String, DataColumn[], DataColumn[], Boolean)

Inizializza una nuova istanza della DataRelation classe utilizzando il nome specificato, matrici corrispondenti di oggetti padre e figlio DataColumn e valore che indica se creare vincoli.

DataRelation(String, DataColumn[], DataColumn[])

Inizializza una nuova istanza della DataRelation classe utilizzando il nome e le matrici corrispondenti degli oggetti padre e figlio DataColumn specificatiDataRelation.

DataRelation(String, String, String, String, String, String[], String[], Boolean)

Questo costruttore viene fornito per il supporto della fase di progettazione nell'ambiente di Visual Studio.

DataRelation(String, String, String, String[], String[], Boolean)

Questo costruttore viene fornito per il supporto della fase di progettazione nell'ambiente di Visual Studio.

Proprietà

Nome Descrizione
ChildColumns

Ottiene gli oggetti figlio DataColumn di questa relazione.

ChildKeyConstraint

Ottiene l'oggetto ForeignKeyConstraint per la relazione.

ChildTable

Ottiene la tabella figlio di questa relazione.

DataSet

Ottiene l'oggetto DataSet a cui appartiene l'oggetto DataRelation .

ExtendedProperties

Ottiene la raccolta che archivia le proprietà personalizzate.

Nested

Ottiene o imposta un valore che indica se DataRelation gli oggetti sono annidati.

ParentColumns

Ottiene una matrice di DataColumn oggetti che sono le colonne padre di questo DataRelationoggetto .

ParentKeyConstraint

Ottiene l'oggetto UniqueConstraint che garantisce che i valori nella colonna padre di un oggetto DataRelation siano univoci.

ParentTable

Ottiene l'elemento padre DataTable dell'oggetto DataRelation.

RelationName

Ottiene o imposta il nome utilizzato per recuperare un DataRelation oggetto da DataRelationCollection.

Metodi

Nome Descrizione
CheckStateForProperty()

Questo metodo supporta l'infrastruttura .NET e non deve essere usato direttamente dal codice.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
OnPropertyChanging(PropertyChangedEventArgs)

Questo membro supporta l'infrastruttura .NET e non deve essere usato direttamente dal codice.

RaisePropertyChanging(String)

Questo membro supporta l'infrastruttura .NET e non deve essere usato direttamente dal codice.

ToString()

Ottiene , RelationNamese esistente.

Si applica a

Thread safety

Questo tipo è sicuro per le operazioni di lettura multithreading. È necessario sincronizzare tutte le operazioni di scrittura.

Vedi anche