ConstraintCollection Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
- Ö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.