Share via


ConstraintCollection Kelas

Definisi

Mewakili kumpulan batasan untuk 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
Warisan
ConstraintCollection
Atribut

Contoh

Contoh pertama membuat DataTable, dan menambahkan DataColumn (dengan propertinya Unique diatur ke true) ke DataColumnCollection. Contoh kedua membuat DataSet, dua DataTable objek, empat kolom, dan DataRelation. Jumlah batasan kemudian dicetak untuk menunjukkan bahwa dan ForeignKeyConstraintUniqueConstraint dibuat saat DataRelation ditambahkan ke DataSet objek 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

Keterangan

ConstraintCollection diakses melalui DataTable.Constraints properti .

ConstraintCollection dapat berisi UniqueConstraint objek dan ForeignKeyConstraint untuk DataTable. Objek UniqueConstraint memastikan bahwa data dalam kolom tertentu selalu unik untuk mempertahankan integritas data. ForeignKeyConstraint menentukan apa yang akan terjadi dalam tabel terkait ketika data dalam diperbarui DataTable atau dihapus. Misalnya, jika baris dihapus, ForeignKeyConstraint akan menentukan apakah baris terkait juga dihapus (kaskade), atau beberapa tindakan lainnya.

Catatan

Saat Anda menambahkan DataRelation yang membuat hubungan antara dua tabel ke DataSet, baik dan ForeignKeyConstraint yang UniqueConstraint dibuat secara otomatis. UniqueConstraint diterapkan ke kolom kunci utama di induk DataTable, dan batasan ditambahkan ke tabel tersebutConstraintCollection. ForeignKeyConstraint diterapkan ke kolom kunci primer dan kolom kunci asing, dan batasan ditambahkan ke tabel ConstraintCollectionanak .

ConstraintCollection menggunakan metode pengumpulan standar seperti Add, , Cleardan Remove. Selain itu, Contains metode ini dapat digunakan untuk mencari keberadaan batasan tertentu dalam koleksi.

UniqueConstraint dibuat ketika DataColumn dengan propertinya Unique diatur ke true ditambahkan ke DataTable objek DataColumnCollection.

ForeignKeyConstraint dibuat saat DataRelation ditambahkan ke DataSet objek DataRelationCollection.

Properti

Count

Mendapatkan jumlah total elemen dalam koleksi.

(Diperoleh dari InternalDataCollectionBase)
IsReadOnly

Mendapatkan nilai yang menunjukkan apakah InternalDataCollectionBase bersifat baca-saja.

(Diperoleh dari InternalDataCollectionBase)
IsSynchronized

Mendapatkan nilai yang menunjukkan apakah disinkronkan InternalDataCollectionBase .

(Diperoleh dari InternalDataCollectionBase)
Item[Int32]

Constraint Mendapatkan dari koleksi pada indeks yang ditentukan.

Item[String]

Constraint Mendapatkan dari koleksi dengan nama yang ditentukan.

List

Mendapatkan item koleksi sebagai daftar.

List

Mendapatkan item koleksi sebagai daftar.

(Diperoleh dari InternalDataCollectionBase)
SyncRoot

Mendapatkan objek yang dapat digunakan untuk menyinkronkan koleksi.

(Diperoleh dari InternalDataCollectionBase)

Metode

Add(Constraint)

Menambahkan objek yang ditentukan Constraint ke koleksi.

Add(String, DataColumn, Boolean)

Membuat baru UniqueConstraint dengan nama, DataColumn, dan nilai yang ditentukan yang menunjukkan apakah kolom tersebut adalah kunci primer, dan menambahkannya ke koleksi.

Add(String, DataColumn, DataColumn)

Membuat baru ForeignKeyConstraint dengan nama, kolom induk, dan kolom anak yang ditentukan, dan menambahkan batasan ke koleksi.

Add(String, DataColumn[], Boolean)

Membuat baru UniqueConstraint dengan nama, array DataColumn objek, dan nilai yang ditentukan yang menunjukkan apakah kolom adalah kunci primer, dan menambahkannya ke koleksi.

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

Membuat baru ForeignKeyConstraint, dengan array kolom induk dan kolom anak yang ditentukan, dan menambahkan batasan ke koleksi.

AddRange(Constraint[])

Menyalin elemen array yang ditentukan ConstraintCollection ke akhir koleksi.

CanRemove(Constraint)

Menunjukkan apakah Constraint dapat dihapus.

Clear()

Menghapus koleksi objek apa pun Constraint .

Contains(String)

Menunjukkan apakah Constraint objek yang ditentukan berdasarkan nama ada dalam koleksi.

CopyTo(Array, Int32)

Menyalin semua elemen saat ini InternalDataCollectionBase ke satu dimensi Array, dimulai pada indeks yang ditentukan InternalDataCollectionBase .

(Diperoleh dari InternalDataCollectionBase)
CopyTo(Constraint[], Int32)

Menyalin objek koleksi ke instans satu dimensi Array yang dimulai pada indeks yang ditentukan.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetEnumerator()

IEnumerator Mendapatkan untuk koleksi.

(Diperoleh dari InternalDataCollectionBase)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
IndexOf(Constraint)

Mendapatkan indeks dari yang ditentukan Constraint.

IndexOf(String)

Mendapatkan indeks yang Constraint ditentukan berdasarkan nama.

MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
OnCollectionChanged(CollectionChangeEventArgs)

Memunculkan kejadian CollectionChanged.

Remove(Constraint)

Menghapus yang ditentukan Constraint dari koleksi.

Remove(String)

Menghapus objek yang Constraint ditentukan berdasarkan nama dari koleksi.

RemoveAt(Int32)

Constraint Menghapus objek pada indeks yang ditentukan dari koleksi.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Acara

CollectionChanged

Terjadi setiap kali ConstraintCollection diubah karena Constraint objek ditambahkan atau dihapus.

Metode Ekstensi

Cast<TResult>(IEnumerable)

Mentransmisikan elemen dari ke IEnumerable jenis yang ditentukan.

OfType<TResult>(IEnumerable)

Memfilter elemen berdasarkan IEnumerable jenis yang ditentukan.

AsParallel(IEnumerable)

Mengaktifkan paralelisasi kueri.

AsQueryable(IEnumerable)

Mengonversi menjadi IEnumerableIQueryable.

Berlaku untuk

Keamanan Thread

Jenis ini aman untuk operasi baca multithreaded. Anda harus menyinkronkan operasi tulis apa pun.

Lihat juga