Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

ConstraintCollection-Klasse

 

Veröffentlicht: Oktober 2016

Stellt eine Auflistung von Einschränkungen für einen DataTable.

Namespace:   System.Data
Assembly:  System.Data (in System.Data.dll)

System.Object
  System.Data.InternalDataCollectionBase
    System.Data.ConstraintCollection

public sealed class ConstraintCollection : InternalDataCollectionBase

NameBeschreibung
System_CAPS_pubpropertyCount

Ruft die Gesamtzahl der Elemente in einer Auflistung ab.(Geerbt von „InternalDataCollectionBase“.)

System_CAPS_pubpropertyIsReadOnly

Ruft einen Wert ab, der angibt, ob die InternalDataCollectionBase schreibgeschützt ist.(Geerbt von „InternalDataCollectionBase“.)

System_CAPS_pubpropertyIsSynchronized

Ruft einen Wert, der angibt, ob der InternalDataCollectionBase synchronisiert ist.(Geerbt von „InternalDataCollectionBase“.)

System_CAPS_pubpropertyItem[Int32]

Ruft die Constraint aus der Auflistung am angegebenen Index.

System_CAPS_pubpropertyItem[String]

Ruft die Constraint mit dem angegebenen Namen aus der Auflistung.

System_CAPS_pubpropertySyncRoot

Ruft ein Objekt, das zum Synchronisieren der Auflistung verwendet werden kann.(Geerbt von „InternalDataCollectionBase“.)

NameBeschreibung
System_CAPS_pubmethodAdd(Constraint)

Fügt der Auflistung das angegebene Constraint-Objekt hinzu.

System_CAPS_pubmethodAdd(String, DataColumn, Boolean)

Erstellt ein neues UniqueConstraint mit dem angegebenen Namen, DataColumn, und der Wert, der angibt, ob die Spalte ein Primärschlüssel ist, und fügt es der Auflistung hinzu.

System_CAPS_pubmethodAdd(String, DataColumn, DataColumn)

Erstellt ein neues ForeignKeyConstraint mit dem angegebenen Namen und übergeordneten Spalte und der untergeordneten Spalte und fügt die Einschränkung der Auflistung hinzu.

System_CAPS_pubmethodAdd(String, DataColumn[], Boolean)

Erstellt ein neues UniqueConstraint mit dem angegebenen Namen, einem Array von DataColumn Objekte und gibt an, ob die Spalte ein Primärschlüssel ist, und fügt es der Auflistung hinzu.

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

Erstellt ein neues ForeignKeyConstraint, mit den angegebenen Arrays von übergeordneten und untergeordneten Spalten und fügt die Einschränkung der Auflistung hinzu.

System_CAPS_pubmethodAddRange(Constraint[])

Kopiert die Elemente des angegebenen ConstraintCollection Array an das Ende der Auflistung.

System_CAPS_pubmethodCanRemove(Constraint)

Gibt an, ob eine Constraint entfernt werden kann.

System_CAPS_pubmethodClear()

Löscht die Auflistung aller Constraint Objekte.

System_CAPS_pubmethodContains(String)

Gibt an, ob die Constraint durch den Namen angegebenen Objekts in der Auflistung vorhanden ist.

System_CAPS_pubmethodCopyTo(Array, Int32)

Kopiert alle Elemente des aktuellen InternalDataCollectionBase in ein eindimensionales Array, beginnend am angegebenen InternalDataCollectionBase Indexes.(Geerbt von „InternalDataCollectionBase“.)

System_CAPS_pubmethodCopyTo(Constraint[], Int32)

Kopiert die Auflistungsobjekte in eine eindimensionale Array Instanz, beginnend am angegebenen Index.

System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_pubmethodGetEnumerator()

Ruft eine IEnumerator für die Auflistung.(Geerbt von „InternalDataCollectionBase“.)

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodIndexOf(Constraint)

Ruft den Index des angegebenen Constraint.

System_CAPS_pubmethodIndexOf(String)

Ruft den Index der Constraint anhand des Namens.

System_CAPS_pubmethodRemove(Constraint)

Entfernt den angegebenen Constraint aus der Auflistung.

System_CAPS_pubmethodRemove(String)

Entfernt die Constraint Objekt anhand des Namens aus der Auflistung.

System_CAPS_pubmethodRemoveAt(Int32)

Entfernt die Constraint Objekt am angegebenen Index aus der Auflistung.

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

NameBeschreibung
System_CAPS_pubeventCollectionChanged

Tritt auf, wenn der ConstraintCollection geändert wird, da der Constraint Objekte hinzugefügt oder entfernt wird.

NameBeschreibung
System_CAPS_pubmethodAsParallel()

Überladen. Ermöglicht die Parallelisierung einer Abfrage.(Definiert durch ParallelEnumerable.)

System_CAPS_pubmethodAsQueryable()

Überladen. Konvertiert ein IEnumerable zu einer IQueryable.(Definiert durch Queryable.)

System_CAPS_pubmethodCast<TResult>()

Wandelt die Elemente einer IEnumerable in den angegebenen Typ.(Definiert durch Enumerable.)

System_CAPS_pubmethodOfType<TResult>()

Filtert die Elemente einer IEnumerable auf Grundlage eines angegebenen Typs.(Definiert durch Enumerable.)

Die ConstraintCollection erfolgt über die DataTable.Constraints Eigenschaft.

Die ConstraintCollection kann sowohl enthalten UniqueConstraint und ForeignKeyConstraint von Objekten für die DataTable. Ein UniqueConstraint Objekt stellt sicher, dass Daten in einer bestimmten Spalte immer eindeutig, die Integrität der Daten beizubehalten. Die ForeignKeyConstraint bestimmt in verwandten ausgeführt werden, Benutzertabellen nach Daten in der DataTable aktualisiert oder gelöscht wird. Wenn eine Zeile gelöscht wird, z. B. die ForeignKeyConstraint bestimmt, ob die verknüpften Zeilen ebenfalls gelöscht (Cascade) oder eine andere Vorgehensweise.

System_CAPS_noteHinweis

Beim Hinzufügen einer DataRelation die eine Beziehung zwischen zwei Tabellen erstellt ein DataSet, sowohl eine ForeignKeyConstraint und ein UniqueConstraint werden automatisch erstellt. Die UniqueConstraint gilt für die Primärschlüsselspalte in der übergeordneten DataTable, und die Einschränkung wird hinzugefügt, auf diese Tabelle ConstraintCollection. Die ForeignKeyConstraint auf die Primärschlüsselspalte und die Fremdschlüsselspalte angewendet, und die Einschränkung wird der untergeordneten Tabelle hinzugefügt ConstraintCollection.

Die ConstraintCollection verwendet Standardmethoden, z. B. Add, Clear, und Remove. Darüber hinaus die Contains Methode kann verwendet werden, um das Vorhandensein einer bestimmten Einschränkung in der Auflistung.

Ein UniqueConstraint wird erstellt, wenn ein DataColumn mit seiner Unique Eigenschaft festgelegt, um true hinzugefügt wird ein DataTable des Objekts DataColumnCollection.

Ein ForeignKeyConstraint wird erstellt, wenn ein DataRelation hinzugefügt wird ein DataSet des Objekts DataRelationCollection.

Im ersten Beispiel wird ein DataTable, und fügt eine DataColumn (mit der Unique -Eigenschaft auf festgelegt true) an die DataColumnCollection. Das zweite Beispiel erstellt eine DataSet, zwei DataTable -Objekte, vier Spalten und eine DataRelation. Die Anzahl der Einschränkungen wird dann ausgegeben, um anzugeben, dass ein ForeignKeyConstraint und ein UniqueConstraint werden erstellt, wenn eine DataRelation wird hinzugefügt, die DataSet des Objekts 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
Verfügbar seit 1.1

Dieser Typ ist für Multithread-Lesevorgänge. Sie müssen alle Schreibvorgänge synchronisieren.

Zurück zum Anfang
Anzeigen: