Nyelv

ConstraintCollection Osztály

Definíció

A a kényszerek gyűjteményét jelöli.DataTable

public ref class ConstraintCollection sealed : System::Data::InternalDataCollectionBase
public ref class ConstraintCollection : System::Data::InternalDataCollectionBase
public sealed class ConstraintCollection : System.Data.InternalDataCollectionBase
[System.Serializable]
public class ConstraintCollection : System.Data.InternalDataCollectionBase
type ConstraintCollection = class
    inherit InternalDataCollectionBase
[<System.Serializable>]
type ConstraintCollection = class
    inherit InternalDataCollectionBase
Public NotInheritable Class ConstraintCollection
Inherits InternalDataCollectionBase
Public Class ConstraintCollection
Inherits InternalDataCollectionBase
Öröklődés
ConstraintCollection
Attribútumok

Példák

Az első példa létrehoz egy DataTable, és hozzáad egy DataColumn ( Unique a tulajdonsága szerint true) a DataColumnCollection. A második példa egy DataSet, két DataTable objektumot, négy oszlopot és egy DataRelation. A kényszerek száma ezután ki lesz nyomtatva, hogy ForeignKeyConstraint a rendszer egy és egy UniqueConstraint elemet hoz létre, amikor DataRelation hozzáad egy objektumot az DataSet objektumhoz 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());
        }
    }
}
Private Sub MakeTableWithUniqueConstraint()

    Dim table As New DataTable("table")
    Dim column As New DataColumn("UniqueColumn")
    column.Unique = True
    table.Columns.Add(column)

    ' Print count, name, and type.
    Console.WriteLine("Constraints.Count " _
       + table.Constraints.Count.ToString())
    Console.WriteLine(table.Constraints(0).ConstraintName)
    Console.WriteLine( _
        table.Constraints(0).GetType().ToString())

    ' 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.ToString())
    Console.WriteLine(table.Constraints(1).ConstraintName)
    Console.WriteLine( _
        table.Constraints(1).GetType().ToString())
End Sub

Private Sub MakeTableWithForeignConstraint()

    ' Create a DataSet.
    Dim dataSet As New DataSet("dataSet")

    ' Make two tables.
    Dim customersTable As New DataTable("Customers")
    Dim ordersTable As New DataTable("Orders")

    ' Create four columns, two for each table.
    Dim name As New DataColumn("Name")
    Dim id As New DataColumn("ID")
    Dim orderId As New DataColumn("OrderID")
    Dim orderDate As New DataColumn("OrderDate")
    
    ' Add columns to tables.
    customersTable.Columns.Add(name)
    customersTable.Columns.Add(id)
    ordersTable.Columns.Add(orderId)
    ordersTable.Columns.Add(orderDate)
    
    ' Add tables to the DataSet.
    dataSet.Tables.Add(customersTable)
    dataSet.Tables.Add(ordersTable)

    ' Create a DataRelation for two of the columns.
    Dim myRelation As New DataRelation _
       ("CustomersOrders", id, orderId, True)
    dataSet.Relations.Add(myRelation)

    ' Print TableName, Constraints.Count, 
    ' ConstraintName and Type.
    Dim t As DataTable
    For Each t In  dataSet.Tables
        Console.WriteLine(t.TableName)
        Console.WriteLine("Constraints.Count " _
           + t.Constraints.Count.ToString())
        Console.WriteLine("ParentRelations.Count " _
           + t.ParentRelations.Count.ToString())
        Console.WriteLine("ChildRelations.Count " _
           + t.ChildRelations.Count.ToString())
        Dim cstrnt As Constraint
        For Each cstrnt In  t.Constraints
            Console.WriteLine(cstrnt.ConstraintName)
            Console.WriteLine(cstrnt.GetType())
        Next cstrnt
    Next t
End Sub

Megjegyzések

A ConstraintCollection tulajdonságon keresztül DataTable.Constraints érhető el.

A ConstraintCollection fájl mindkét objektumot és UniqueConstraint objektumot tartalmazzaForeignKeyConstraint.DataTable Az UniqueConstraint objektumok biztosítják, hogy egy adott oszlop adatai mindig egyediek legyenek az adatintegritás megőrzése érdekében. Ez ForeignKeyConstraint határozza meg, hogy mi történik a kapcsolódó táblákban, amikor az DataTable adatok frissülnek vagy törlődnek. Ha például töröl egy sort, a ForeignKeyConstraint rendszer meghatározza, hogy a kapcsolódó sorok is törlődnek-e (kaszkádolt) vagy valamilyen más művelet.

Note

Amikor olyan táblát DataRelation ad hozzá, amely két tábla közötti kapcsolatot hoz létre egy DataSettáblához, a rendszer automatikusan létrehozza az a ForeignKeyConstraint és a táblát UniqueConstraint is. Ez UniqueConstraint a szülő DataTableelsődleges kulcsoszlopára lesz alkalmazva, és a korlátozás hozzá lesz adva a táblahoz ConstraintCollection. A ForeignKeyConstraint rendszer az elsődleges kulcs oszlopára és az idegenkulcs-oszlopra alkalmazza, és a kényszer hozzá lesz adva a gyermektábla ConstraintCollection.

A ConstraintCollection standard gyűjtési módszereket használják, például Add: , Clearés Remove. Emellett a Contains metódussal megkereshető egy adott korlátozás a gyűjteményben.

A UniqueConstraint akkor jön létre, ha egy objektumhoz hozzáad egy DataColumnUnique tulajdonságot trueDataTableDataColumnCollection.

A ForeignKeyConstraint akkor jön létre, ha egy DataRelation objektumhoz hozzáad egy DataSet objektumot DataRelationCollection.

Tulajdonságok

Name Description
Count

Lekéri a gyűjtemény elemeinek teljes számát.

(Öröklődés forrása InternalDataCollectionBase)
IsReadOnly

Olyan értéket kap, amely jelzi, hogy az InternalDataCollectionBase írásvédett-e.

(Öröklődés forrása InternalDataCollectionBase)
IsSynchronized

Olyan értéket kap, amely jelzi, hogy szinkronizálva InternalDataCollectionBase van-e.

(Öröklődés forrása InternalDataCollectionBase)
Item[Int32]

Lekéri a Constraint gyűjteményből a megadott indexet.

Item[String]

Lekéri a Constraint gyűjteményből a megadott névvel.

List

Lekéri a gyűjtemény elemeit listaként.

List

Lekéri a gyűjtemény elemeit listaként.

(Öröklődés forrása InternalDataCollectionBase)
SyncRoot

Lekéri a gyűjtemény szinkronizálására használható objektumot.

(Öröklődés forrása InternalDataCollectionBase)

Metódusok

Name Description
Add(Constraint)

Hozzáadja a megadott Constraint objektumot a gyűjteményhez.

Add(String, DataColumn, Boolean)

Létrehoz egy újat UniqueConstraint a megadott névvel és értékkel, DataColumnamely jelzi, hogy az oszlop elsődleges kulcs-e, és hozzáadja a gyűjteményhez.

Add(String, DataColumn, DataColumn)

Létrehoz egy újat ForeignKeyConstraint a megadott névvel, szülőoszlopmal és gyermekoszlopmal, és hozzáadja a korlátozást a gyűjteményhez.

Add(String, DataColumn[], Boolean)

Létrehoz egy újat UniqueConstraint a megadott névvel, objektumtömbdel DataColumn és értékkel, amely jelzi, hogy az oszlop elsődleges kulcs-e, és hozzáadja a gyűjteményhez.

Add(String, DataColumn[], DataColumn[])

Létrehoz egy újat ForeignKeyConstrainta szülőoszlopok és gyermekoszlopok megadott tömbjeivel, és hozzáadja a korlátozást a gyűjteményhez.

AddRange(Constraint[])

Másolja a megadott ConstraintCollection tömb elemeit a gyűjtemény végére.

CanRemove(Constraint)

Azt jelzi, hogy eltávolítható-e.Constraint

Clear()

Törli az objektumok gyűjteményét Constraint .

Contains(String)

Azt jelzi, hogy a Constraint név alapján megadott objektum létezik-e a gyűjteményben.

CopyTo(Array, Int32)

Az aktuális InternalDataCollectionBase elem minden elemét egy egydimenziósra Arraymásolja, a megadott InternalDataCollectionBase indextől kezdve.

(Öröklődés forrása InternalDataCollectionBase)
CopyTo(Constraint[], Int32)

A gyűjteményobjektumokat egy egydimenziós Array példányba másolja a megadott indextől kezdve.

Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetEnumerator()

Lekéri IEnumerator a gyűjteményt.

(Öröklődés forrása InternalDataCollectionBase)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
IndexOf(Constraint)

Lekéri a megadott Constraintindexet.

IndexOf(String)

Lekéri a megadott név alapján megadott indexet Constraint .

MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
OnCollectionChanged(CollectionChangeEventArgs)

Az eseményt emeli CollectionChanged ki.

Remove(Constraint)

Eltávolítja a megadottt Constraint a gyűjteményből.

Remove(String)

Eltávolítja a Constraint név alapján megadott objektumot a gyűjteményből.

RemoveAt(Int32)

Eltávolítja a Constraint megadott index objektumát a gyűjteményből.

ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

esemény

Name Description
CollectionChanged

Akkor fordul elő, ha az ConstraintCollectionConstraint objektumokat hozzáadják vagy eltávolítják.

Bővítő metódusok

Name Description
AsParallel(IEnumerable)

Lehetővé teszi a lekérdezés párhuzamosítását.

AsQueryable(IEnumerable)

Átalakítja az egyiket IEnumerableIQueryable.

Cast<TResult>(IEnumerable)

Egy elem elemeit IEnumerable a megadott típusra veti.

OfType<TResult>(IEnumerable)

Egy adott típus alapján szűri IEnumerable egy adott elem elemeit.

A következőre érvényes:

Szálbiztonság

Ez a típus biztonságos a többszálas olvasási műveletekhez. Minden írási műveletet szinkronizálnia kell.

Lásd még