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 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.