DataRelation Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.