Aracılığıyla paylaş


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 bir DataColumn ( Unique özelliği olarak trueayarlanmış) DataColumnCollectionekler. İkinci örnek, bir DataSet, iki DataTable nesne, dört sütun ve bir DataRelationoluşturur. Kısıtlama sayısı, nesnenin öğesine eklendiğinde a ForeignKeyConstraint ve'nin DataRelationCollectionUniqueConstraint oluşturulduğunu göstermek için DataSet yazdırılırDataRelation.

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 türünü belirler.

Uyarı

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.

, ConstraintCollection ve Removegibi AddClearstandart 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.

UniqueConstraint, özelliği olarak ayarlanmış bir DataColumnUnique nesnesine trueDataTableDataColumnCollectioneklendiğinde oluşturulur.

ForeignKeyConstraint nesnesine DataRelationCollectionDataSet eklendiğinde DataRelation oluşturulur.

Özellikler

Name Description
Count

Bir koleksiyondaki öğelerin toplam sayısını alır.

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

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

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

öğesinin eşitlenip eşitlenmediğini InternalDataCollectionBase gösteren 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 nesne alır.

(Devralındığı yer: InternalDataCollectionBase)

Yöntemler

Name Description
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)

Sütunun birincil anahtar olup olmadığını belirten belirtilen ad, nesne dizisi DataColumn ve değer ile 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 var olup olmadığını gösterir.

CopyTo(Array, Int32)

Geçerlinin InternalDataCollectionBase 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()

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

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

Belirtilen Constraintöğesinin dizinini alır.

IndexOf(String)

Belirtilen dizinini Constraint ada göre alır.

MemberwiseClone()

Geçerli Objectbasit 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 ada göre belirtilen nesneyi kaldırır.

RemoveAt(Int32)

Constraint Belirtilen dizindeki nesneyi koleksiyondan kaldırır.

ToString()

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

(Devralındığı yer: Object)

Ekinlikler

Name Description
CollectionChanged

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

Uzantı Metotları

Name Description
AsParallel(IEnumerable)

Sorgunun paralelleştirilmesini etkinleştirir.

AsQueryable(IEnumerable)

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

Cast<TResult>(IEnumerable)

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

OfType<TResult>(IEnumerable)

Belirtilen türe göre bir IEnumerable öğesinin öğelerini filtreler.

Şunlara uygulanır

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

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

Ayrıca bkz.