ConstraintCollection Sınıf

Tanım

bir için DataTablebir kısıtlama koleksiyonunu temsil eder.

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
Devralma
ConstraintCollection
Öznitelikler

Örnekler

İlk örnek bir DataTableoluşturur ve öğesine ( DataColumnUnique özelliği olarak trueayarlanmış şekilde) DataColumnCollectionekler. İkinci örnek, bir DataSet, iki DataTable nesnesi, dört sütun ve bir DataRelationoluşturur. Kısıtlama sayısı daha sonra, nesnesinin öğesine eklendiğinde DataRelation a ForeignKeyConstraint ve UniqueConstraint 'nin DataRelationCollectionoluşturulduğunu DataSet göstermek için yazdırılır.

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

Açıklamalar

ConstraintCollection özelliği aracılığıyla DataTable.Constraints erişilir.

, ConstraintCollection için DataTablehem ForeignKeyConstraint hem de UniqueConstraint nesnelerini içerebilir. Nesne UniqueConstraint , veri bütünlüğünü korumak için belirli bir sütundaki verilerin her zaman benzersiz olmasını sağlar. içindeki ForeignKeyConstraint veriler güncelleştirildiğinde veya silindiğinde ilgili tablolarda DataTable ne olacağını belirler. Örneğin, bir satır silinirse, ForeignKeyConstraint ilgili satırların da silinip silinmeyeceğini (art arda) veya başka bir eylem seyrini belirler.

Not

ile iki tablo arasında ilişki oluşturan bir DataSeteklediğinizdeDataRelation, hem a ForeignKeyConstraint hem de a UniqueConstraint otomatik olarak oluşturulur. UniqueConstraint, üst DataTableöğesindeki birincil anahtar sütununa uygulanır ve kısıtlama bu tablonun ConstraintCollectionöğesine eklenir. ForeignKeyConstraint birincil anahtar sütununa ve yabancı anahtar sütununa uygulanır ve kısıtlama alt tablonun ConstraintCollectionöğesine eklenir.

, ConstraintCollectionClearve Removegibi Addstandart koleksiyon yöntemlerini kullanır. Buna ek olarak, Contains yöntemi koleksiyonda belirli bir kısıtlamanın varlığını aramak için kullanılabilir.

özelliği UniqueConstraint olarak ayarlanmış true bir DataColumnUnique nesnesine eklendiğinde bir DataTableDataColumnCollectionoluşturulur.

bir ForeignKeyConstraint nesnesine DataSetDataRelationCollectioneklendiğinde DataRelation oluşturulur.

Özellikler

Count

Koleksiyondaki öğelerin toplam sayısını alır.

(Devralındığı yer: InternalDataCollectionBase)
IsReadOnly

öğesinin salt okunur olup olmadığını InternalDataCollectionBase gösteren bir değer alır.

(Devralındığı yer: InternalDataCollectionBase)
IsSynchronized

öğesinin eşitlenip eşitlenmediğini InternalDataCollectionBase belirten bir değer alır.

(Devralındığı yer: InternalDataCollectionBase)
Item[Int32]

Constraint Belirtilen dizindeki koleksiyondan öğesini alır.

Item[String]

Constraint Belirtilen ada sahip koleksiyondan öğesini alır.

List

Koleksiyonun öğelerini liste olarak alır.

List

Koleksiyonun öğelerini liste olarak alır.

(Devralındığı yer: InternalDataCollectionBase)
SyncRoot

Koleksiyonu eşitlemek için kullanılabilecek bir nesnesi alır.

(Devralındığı yer: InternalDataCollectionBase)

Yöntemler

Add(Constraint)

Belirtilen Constraint nesneyi koleksiyona ekler.

Add(String, DataColumn, Boolean)

Sütunun birincil anahtar olup olmadığını gösteren belirtilen ad, DataColumnve değeriyle yeni UniqueConstraint bir oluşturur ve bunu koleksiyona ekler.

Add(String, DataColumn, DataColumn)

Belirtilen ad, üst sütun ve alt sütun ile yeni ForeignKeyConstraint bir oluşturur ve kısıtlamayı koleksiyona ekler.

Add(String, DataColumn[], Boolean)

Belirtilen ad, nesne dizisi ve sütunun DataColumn birincil anahtar olup olmadığını gösteren değerle yeni UniqueConstraint bir oluşturur ve bunu koleksiyona ekler.

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

Belirtilen üst sütun ve alt sütun dizileriyle yeni ForeignKeyConstraintbir oluşturur ve kısıtlamayı koleksiyona ekler.

AddRange(Constraint[])

Belirtilen ConstraintCollection dizinin öğelerini koleksiyonun sonuna kopyalar.

CanRemove(Constraint)

öğesinin Constraint kaldırılıp kaldırılamayacağını gösterir.

Clear()

Tüm Constraint nesnelerin koleksiyonunu temizler.

Contains(String)

Adla belirtilen nesnenin Constraint koleksiyonda mevcut olup olmadığını gösterir.

CopyTo(Array, Int32)

Geçerli InternalDataCollectionBase öğenin tüm öğelerini belirtilen InternalDataCollectionBase dizinden başlayarak tek boyutlu Arraybir öğesine kopyalar.

(Devralındığı yer: InternalDataCollectionBase)
CopyTo(Constraint[], Int32)

Koleksiyon nesnelerini belirtilen dizinden başlayarak tek boyutlu Array bir örneğe kopyalar.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetEnumerator()

Koleksiyon için bir IEnumerator alır.

(Devralındığı yer: InternalDataCollectionBase)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
IndexOf(Constraint)

Belirtilen Constraintöğesinin dizinini alır.

IndexOf(String)

Ada göre belirtilen dizinini Constraint alır.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
OnCollectionChanged(CollectionChangeEventArgs)

Olayı tetikler CollectionChanged .

Remove(Constraint)

Belirtilen Constraint öğesini koleksiyondan kaldırır.

Remove(String)

Constraint Koleksiyondan adla belirtilen nesneyi kaldırır.

RemoveAt(Int32)

Constraint Belirtilen dizindeki nesneyi koleksiyondan kaldırır.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Ekinlikler

CollectionChanged

ConstraintCollection eklenen veya kaldırılan nesneler nedeniyle Constraint her değiştirildiğinde gerçekleşir.

Uzantı Metotları

Cast<TResult>(IEnumerable)

öğesinin IEnumerable öğelerini belirtilen türe atar.

OfType<TResult>(IEnumerable)

Öğesinin IEnumerable öğelerini belirtilen türe göre filtreler.

AsParallel(IEnumerable)

Sorgunun paralelleştirilmesini etkinleştirir.

AsQueryable(IEnumerable)

bir IEnumerable öğesini öğesine IQueryabledönüştürür.

Şunlara uygulanır

İş Parçacığı Güvenliği

Bu tür, çok iş parçacıklı okuma işlemleri için güvenlidir. Mevcut yazma işlemlerini eşitlemeniz gerekir.

Ayrıca bkz.