(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

ConstraintCollection-Klasse

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

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

public sealed class ConstraintCollection : InternalDataCollectionBase

Der ConstraintCollection-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche EigenschaftUnterstützt von XNA FrameworkCountRuft die Gesamtzahl der Elemente in einer Auflistung ab. (Von InternalDataCollectionBase geerbt.)
Öffentliche EigenschaftUnterstützt von XNA FrameworkIsReadOnlyRuft einen Wert ab, der angibt, ob die InternalDataCollectionBase schreibgeschützt ist. (Von InternalDataCollectionBase geerbt.)
Öffentliche EigenschaftUnterstützt von XNA FrameworkIsSynchronizedRuft einen Wert ab, der angibt, ob die InternalDataCollectionBase synchronisiert ist. (Von InternalDataCollectionBase geerbt.)
Öffentliche EigenschaftUnterstützt von XNA FrameworkItem[Int32]Ruft die Constraint am angegebenen Index aus der Auflistung ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkItem[String]Ruft die Constraint mit dem angegebenen Namen aus der Auflistung ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkSyncRootRuft ein Objekt ab, mit dem die Auflistung synchronisiert werden kann. (Von InternalDataCollectionBase geerbt.)
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeUnterstützt von XNA FrameworkAdd(Constraint)Fügt der Auflistung das angegebene Constraint-Objekt hinzu.
Öffentliche MethodeUnterstützt von XNA FrameworkAdd(String, DataColumn, Boolean)Erstellt eine neue UniqueConstraint mit dem angegebenen Namen der DataColumn sowie einem Wert, der angibt, ob die Spalte eine Primärschlüsselspalte ist, und fügt diese der Auflistung hinzu.
Öffentliche MethodeUnterstützt von XNA FrameworkAdd(String, DataColumn, DataColumn)Erstellt eine neue ForeignKeyConstraint mit dem angegebenen Namen, der angegebenen übergeordneten Spalte sowie der angegebenen untergeordneten Spalte und fügt der Auflistung die Einschränkung hinzu.
Öffentliche MethodeUnterstützt von XNA FrameworkAdd(String, DataColumn[], Boolean)Erstellt eine neue UniqueConstraint mit dem angegebenen Namen, einem Array von DataColumn-Objekten sowie einem Wert, der angibt, ob die Spalte eine Primärschlüsselspalte ist, und fügt diese der Auflistung hinzu.
Öffentliche MethodeUnterstützt von XNA FrameworkAdd(String, DataColumn[], DataColumn[])Erstellt eine neue ForeignKeyConstraint mit den angegebenen Arrays von übergeordneten und untergeordneten Spalten und fügt die Einschränkung der Auflistung hinzu.
Öffentliche MethodeUnterstützt von XNA FrameworkAddRangeKopiert die Elemente des angegebenen ConstraintCollection-Arrays an das Ende der Auflistung.
Öffentliche MethodeUnterstützt von XNA FrameworkCanRemoveGibt an, ob eine Constraint entfernt werden kann.
Öffentliche MethodeUnterstützt von XNA FrameworkClearLöscht sämtliche Constraint-Objekte aus der Auflistung.
Öffentliche MethodeUnterstützt von XNA FrameworkContainsGibt an, ob das mit Namen angegebene Constraint-Objekt in der Auflistung vorhanden ist.
Öffentliche MethodeUnterstützt von XNA FrameworkCopyTo(Array, Int32)Kopiert alle Elemente der aktuellen InternalDataCollectionBase in ein eindimensionales Array, beginnend am angegebenen InternalDataCollectionBase-Index. (Von InternalDataCollectionBase geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkCopyTo(Constraint[], Int32)Kopiert die Auflistungsobjekte in eine eindimensionale Array-Instanz, beginnend am angegebenen Index.
Öffentliche MethodeUnterstützt von XNA FrameworkEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetEnumeratorRuft einen IEnumerator für die Auflistung ab. (Von InternalDataCollectionBase geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkIndexOf(Constraint)Ruft den Index der angegebenen Constraint ab.
Öffentliche MethodeUnterstützt von XNA FrameworkIndexOf(String)Ruft den Index der mit Namen angegebenen Constraint ab.
Öffentliche MethodeUnterstützt von XNA FrameworkRemove(Constraint)Entfernt die angegebene Constraint aus der Auflistung.
Öffentliche MethodeUnterstützt von XNA FrameworkRemove(String)Entfernt das mit Namen angegebene Constraint-Objekt aus der Auflistung.
Öffentliche MethodeUnterstützt von XNA FrameworkRemoveAtEntfernt das Constraint-Objekt am angegebenen Index aus der Auflistung.
Öffentliche MethodeUnterstützt von XNA FrameworkToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang

  NameBeschreibung
Öffentliches EreignisUnterstützt von XNA FrameworkCollectionChangedTritt immer dann ein, wenn die ConstraintCollection aufgrund des Hinzufügens oder Entfernens von Constraint-Objekten geändert wurde.
Zum Seitenanfang

Auf den ConstraintCollection wird über die DataTable.Constraints-Eigenschaft zugegriffen.

Die ConstraintCollection kann sowohl UniqueConstraint-Objekte als auch ForeignKeyConstraint-Objekte für die DataTable enthalten. Ein UniqueConstraint-Objekt stellt sicher, dass Daten in einer bestimmten Spalte stets eindeutig sind, um die Datenintegrität zu gewährleisten. Die ForeignKeyConstraint bestimmt die Aktionen, die in den verknüpften Tabellen ausgeführt werden, wenn Daten in der DataTable aktualisiert oder gelöscht werden. Wenn z. B. eine Zeile gelöscht wird, bestimmt die ForeignKeyConstraint, ob die verknüpften Zeilen ebenfalls gelöscht werden (CASCADE) oder ob eine andere Aktion ausgeführt wird.

HinweisHinweis

Wenn Sie einem DataSet eine DataRelation hinzufügen, durch die eine Beziehung zwischen zwei Tabellen hergestellt wird, werden automatisch eine ForeignKeyConstraint und eine UniqueConstraint erstellt. Die UniqueConstraint wird auf die Primärschlüsselspalte in der übergeordneten DataTable angewendet, und die Einschränkung wird der ConstraintCollection dieser Tabelle hinzugefügt. Die ForeignKeyConstraint wird auf die Primärschlüsselspalte und die Fremdschlüsselspalte angewendet, und die Einschränkung wird der ConstraintCollection der untergeordneten Tabelle hinzugefügt.

Die ConstraintCollection verwendet Standardauflistungsmethoden, z. B. Add, Clear und Remove. Darüber hinaus kann mit der Contains-Methode überprüft werden, ob eine bestimmte Einschränkung in der Auflistung vorhanden ist.

Eine UniqueConstraint wird erstellt, wenn der DataColumnCollection eines DataTable-Objekts eine DataColumn hinzugefügt wird, deren Unique-Eigenschaft auf true festgelegt ist.

Eine ForeignKeyConstraint wird erstellt, wenn einer DataRelationCollection eines DataSet-Objekts eine DataRelation hinzugefügt wird.

Im ersten Beispiel wird eine DataTable erstellt, und der DataColumnCollection wird eine DataColumn hinzugefügt (deren Unique-Eigenschaft auf true festgelegt ist). Im zweiten Beispiel werden ein DataSet, zwei DataTable-Objekte, vier Spalten und eine DataRelation erstellt. Die Anzahl der Einschränkungen wird anschließend ausgegeben, um zu veranschaulichen, dass eine ForeignKeyConstraint und eine UniqueConstraint erstellt werden, wenn der DataRelationCollection des DataSet-Objekts eine DataRelation hinzugefügt wird.


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

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Dieser Typ ist bei Multithread-Lesevorgängen sicher. Sie müssen alle Schreibvorgänge synchronisieren.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft