Condividi tramite


DataRelation Classe

Definizione

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

Esempio

Nell'esempio seguente viene creato un nuovo DataRelation oggetto e lo aggiunge all'oggetto DataRelationCollection di un DataSetoggetto .

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

Viene DataRelation usato 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 è 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. Vale a dire, il DataType valore per entrambe le colonne deve essere identico.

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

Quando viene creato un oggetto DataRelation , verifica prima di tutto che la relazione possa essere stabilita. Dopo l'aggiunta all'oggetto DataRelationCollection, la relazione viene mantenuta non consentendo alcuna modifica che lo invaliderebbe. Tra il periodo in cui viene DataRelation creato e aggiunto a DataRelationCollection, è possibile apportare modifiche aggiuntive alle righe padre o figlio. Un'eccezione viene generata se questa causa una relazione che non è più valida.

Nota

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

DataRelationgli oggetti sono contenuti in un DataRelationCollectionoggetto , che è possibile accedere tramite la Relations proprietà dell'oggetto e le ChildRelations proprietà e ParentRelations dell'oggetto DataSetDataTable.

Costruttori

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.

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.

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.

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.

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

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

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

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

Proprietà

ChildColumns

Ottiene gli oggetti DataColumn figlio 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 l'insieme in cui vengono memorizzate le proprietà personalizzate.

Nested

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

ParentColumns

Ottiene una matrice di oggetti DataColumn che rappresentano le colonne padre di questo oggetto DataRelation.

ParentKeyConstraint

Ottiene la classe UniqueConstraint che garantisce che i valori nella colonna padre di una classe DataRelation siano univoci.

ParentTable

Ottiene l'elemento padre DataTable di DataRelation.

RelationName

Ottiene o imposta il nome utilizzato per recuperare un oggetto DataRelation dall'insieme DataRelationCollection.

Metodi

CheckStateForProperty()

Questo metodo supporta l'infrastruttura .NET e non deve essere usata 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 l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnPropertyChanging(PropertyChangedEventArgs)

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

RaisePropertyChanging(String)

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

ToString()

Ottiene la proprietà RelationName, se disponibile.

Si applica a

Thread safety

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

Vedi anche