Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Classe ConstraintCollection

 

Data di pubblicazione: ottobre 2016

Rappresenta una raccolta di vincoli per un DataTable.

Spazio dei nomi:   System.Data
Assembly:  System.Data (in System.Data.dll)


public sealed class ConstraintCollection : InternalDataCollectionBase

NomeDescrizione
System_CAPS_pubpropertyCount

Ottiene il numero totale di elementi in una raccolta.(Ereditato da InternalDataCollectionBase.)

System_CAPS_pubpropertyIsReadOnly

Ottiene un valore che indica se InternalDataCollectionBase è di sola lettura.(Ereditato da InternalDataCollectionBase.)

System_CAPS_pubpropertyIsSynchronized

Ottiene un valore che indica se il InternalDataCollectionBase è sincronizzato.(Ereditato da InternalDataCollectionBase.)

System_CAPS_pubpropertyItem[Int32]

Ottiene il Constraint dalla raccolta in corrispondenza dell'indice specificato.

System_CAPS_pubpropertyItem[String]

Ottiene il Constraint dalla raccolta con il nome specificato.

System_CAPS_pubpropertySyncRoot

Ottiene un oggetto che può essere utilizzato per sincronizzare la raccolta.(Ereditato da InternalDataCollectionBase.)

NomeDescrizione
System_CAPS_pubmethodAdd(Constraint)

Aggiunge l'oggetto Constraint specificato alla raccolta.

System_CAPS_pubmethodAdd(String, DataColumn, Boolean)

Costruisce un nuovo UniqueConstraint con il nome specificato, DataColumn, e il valore che indica se la colonna è una chiave primaria e lo aggiunge alla raccolta.

System_CAPS_pubmethodAdd(String, DataColumn, DataColumn)

Costruisce un nuovo ForeignKeyConstraint con il nome specificato, padre e figlio e aggiunge il vincolo alla raccolta.

System_CAPS_pubmethodAdd(String, DataColumn[], Boolean)

Costruisce un nuovo UniqueConstraint con il nome specificato, una matrice di DataColumn oggetti e un valore che indica se la colonna è una chiave primaria e lo aggiunge alla raccolta.

System_CAPS_pubmethodAdd(String, DataColumn[], DataColumn[])

Costruisce un nuovo ForeignKeyConstraint, con le matrici di colonne padre e figlio colonne specificate e aggiunge il vincolo alla raccolta.

System_CAPS_pubmethodAddRange(Constraint[])

Copia gli elementi dell'oggetto specificato ConstraintCollection matrice alla fine della raccolta.

System_CAPS_pubmethodCanRemove(Constraint)

Indica se un Constraint può essere rimosso.

System_CAPS_pubmethodClear()

Cancella la raccolta di qualsiasi Constraint oggetti.

System_CAPS_pubmethodContains(String)

Indica se il Constraint oggetto specificato in base al nome presente nella raccolta.

System_CAPS_pubmethodCopyTo(Array, Int32)

Copia tutti gli elementi dell'oggetto corrente InternalDataCollectionBase unidimensionale Array, a partire dall'oggetto specificato InternalDataCollectionBase indice.(Ereditato da InternalDataCollectionBase.)

System_CAPS_pubmethodCopyTo(Constraint[], Int32)

Copia gli oggetti della raccolta in una matrice unidimensionale Array istanza a partire dall'indice specificato.

System_CAPS_pubmethodEquals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object.)

System_CAPS_pubmethodGetEnumerator()

Ottiene un IEnumerator per la raccolta.(Ereditato da InternalDataCollectionBase.)

System_CAPS_pubmethodGetHashCode()

Funge da funzione hash predefinita.(Ereditato da Object.)

System_CAPS_pubmethodGetType()

Ottiene l'oggetto Type dell'istanza corrente.(Ereditato da Object.)

System_CAPS_pubmethodIndexOf(Constraint)

Ottiene l'indice dell'oggetto specificato Constraint.

System_CAPS_pubmethodIndexOf(String)

Ottiene l'indice del Constraint specificato dal nome.

System_CAPS_pubmethodRemove(Constraint)

Rimuove l'oggetto Constraint specificato dalla raccolta.

System_CAPS_pubmethodRemove(String)

Rimuove il Constraint oggetto specificato dal nome dalla raccolta.

System_CAPS_pubmethodRemoveAt(Int32)

Rimuove il Constraint oggetto in corrispondenza dell'indice specificato dalla raccolta.

System_CAPS_pubmethodToString()

Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object.)

NomeDescrizione
System_CAPS_pubeventCollectionChanged

Si verifica ogni volta che il ConstraintCollection viene modificato perché Constraint oggetti aggiunto o rimosso.

NomeDescrizione
System_CAPS_pubmethodAsParallel()

Sottoposto a overload. Consente la parallelizzazione di una query.(Definito da ParallelEnumerable.)

System_CAPS_pubmethodAsQueryable()

Sottoposto a overload. Converte un IEnumerable a un IQueryable.(Definito da Queryable.)

System_CAPS_pubmethodCast<TResult>()

Esegue il cast di elementi di un IEnumerable nel tipo specificato.(Definito da Enumerable.)

System_CAPS_pubmethodOfType<TResult>()

Filtra gli elementi di un IEnumerable in base a un tipo specificato.(Definito da Enumerable.)

Il ConstraintCollection si accede tramite la DataTable.Constraints proprietà.

Il ConstraintCollection può contenere entrambi UniqueConstraint e ForeignKeyConstraint gli oggetti per il DataTable. Oggetto UniqueConstraint oggetto garantisce che i dati in una colonna specifica sono sempre univoci per mantenere l'integrità dei dati. Il ForeignKeyConstraint determina ciò che verranno eseguite nelle relative tabelle quando dati il DataTable viene aggiornato o eliminato. Ad esempio, se viene eliminata una riga, il ForeignKeyConstraint determina se le righe correlate verranno eliminate anche (cascade), o alcuni altri tipo di intervento.

System_CAPS_noteNota

Quando si aggiunge un DataRelation che crea una relazione tra due tabelle a una DataSet, entrambi un ForeignKeyConstraint e UniqueConstraint vengono creati automaticamente. Il UniqueConstraint viene applicato alla colonna chiave primaria nell'oggetto padre DataTable, mentre il vincolo viene aggiunto a tale tabella ConstraintCollection. Il ForeignKeyConstraint viene applicato per la colonna chiave primaria e la colonna chiave esterna, mentre il vincolo viene aggiunto alla tabella figlio ConstraintCollection.

Il ConstraintCollection utilizza i metodi di raccolta standard, ad esempio Add, Clear, e Remove. Inoltre, il Contains metodo può essere utilizzato per verificare l'esistenza di un vincolo specifico nella raccolta.

Oggetto UniqueConstraint viene creato quando un DataColumn con relativo Unique impostata su true viene aggiunto a un DataTable dell'oggetto DataColumnCollection.

Oggetto ForeignKeyConstraint viene creato quando un DataRelation viene aggiunto a un DataSet dell'oggetto DataRelationCollection.

Il primo esempio viene creata una DataTable, e aggiunge un DataColumn (con relativo Unique impostata su true) per il DataColumnCollection. Il secondo esempio viene creato un DataSet, due DataTable oggetti, quattro colonne e un DataRelation. Il numero di vincoli viene quindi stampato per dimostrare che un ForeignKeyConstraint e UniqueConstraint vengono creati quando un DataRelation viene aggiunto al DataSet dell'oggetto DataRelationCollection.

private void MakeTableWithUniqueConstraint()
{
    DataTable table = new DataTable("table");
    DataColumn column = new DataColumn("UniqueColumn");
    column.Unique=true;
    table.Columns.Add(column);

    // Print count, name, and type.
    Console.WriteLine("Constraints.Count " 
        + table.Constraints.Count);
    Console.WriteLine(table.Constraints[0].ConstraintName);
    Console.WriteLine(table.Constraints[0].GetType() );

    // Add a second unique column.
    column = new DataColumn("UniqueColumn2");
    column.Unique=true;
    table.Columns.Add(column);

    // Print info again.
    Console.WriteLine("Constraints.Count " 
        + table.Constraints.Count);
    Console.WriteLine(table.Constraints[1].ConstraintName);
    Console.WriteLine(table.Constraints[1].GetType() );
}

private void MakeTableWithForeignConstraint()
{
    // Create a DataSet.
    DataSet dataSet = new DataSet("dataSet");

    // Make two tables.
    DataTable customersTable= new DataTable("Customers");
    DataTable ordersTable = new DataTable("Orders");

    // Create four columns, two for each table.
    DataColumn name = new DataColumn("Name");
    DataColumn id = new DataColumn("ID");
    DataColumn orderId = new DataColumn("OrderID");
    DataColumn cDate = new DataColumn("OrderDate");

    // Add columns to tables.
    customersTable.Columns.Add(name);
    customersTable.Columns.Add(id);
    ordersTable.Columns.Add(orderId);
    ordersTable.Columns.Add(cDate);

    // Add tables to the DataSet.
    dataSet.Tables.Add(customersTable);
    dataSet.Tables.Add(ordersTable); 

    // Create a DataRelation for two of the columns.
    DataRelation myRelation = new 
        DataRelation("CustomersOrders",id,orderId,true);
    dataSet.Relations.Add(myRelation);

    // Print TableName, Constraints.Count, 
    // ConstraintName and Type.
    foreach(DataTable t in dataSet.Tables)
    {
        Console.WriteLine(t.TableName);
        Console.WriteLine("Constraints.Count " 
            + t.Constraints.Count);
        Console.WriteLine("ParentRelations.Count " 
            + t.ParentRelations.Count);
        Console.WriteLine("ChildRelations.Count " 
            + t.ChildRelations.Count);
        foreach(Constraint cstrnt in t.Constraints)
        {
            Console.WriteLine(cstrnt.ConstraintName);
            Console.WriteLine(cstrnt.GetType());
        }
    }
}

.NET Framework
Disponibile da 1.1

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

Torna all'inizio
Mostra: