ConstraintCollection Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje kolekcję ograniczeń dla elementu 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
- Dziedziczenie
- Atrybuty
Przykłady
Pierwszy przykład tworzy obiekt DataTablei dodaje element DataColumn (z właściwością Unique ustawioną na true
wartość ) do obiektu DataColumnCollection. Drugi przykład tworzy DataSetobiekt , dwa DataTable obiekty, cztery kolumny i DataRelation. Liczba ograniczeń jest następnie drukowana, aby pokazać, że obiekt ForeignKeyConstraint i UniqueConstraint a są tworzone po DataRelation dodaniu obiektu do DataSet obiektu 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
Uwagi
Dostęp ConstraintCollection do obiektu DataTable.Constraints jest uzyskiwany za pośrednictwem właściwości .
Obiekt ConstraintCollection może zawierać obiekty UniqueConstraint i ForeignKeyConstraint dla obiektu DataTable. Obiekt UniqueConstraint zapewnia, że dane w określonej kolumnie są zawsze unikatowe, aby zachować integralność danych. Określa ForeignKeyConstraint , co będzie występować w powiązanych tabelach, gdy dane w obiekcie DataTable zostaną zaktualizowane lub usunięte. Jeśli na przykład wiersz zostanie usunięty, określi, ForeignKeyConstraint czy powiązane wiersze również zostaną usunięte (kaskada), czy jakiś inny przebieg akcji.
Uwaga
Po dodaniu elementu tworzącego DataRelation relację między dwiema tabelami do DataSetelementu , zarówno a, jak ForeignKeyConstraint i , UniqueConstraint są tworzone automatycznie. Element UniqueConstraint jest stosowany do kolumny klucza podstawowego w obiekcie nadrzędnym DataTable, a ograniczenie jest dodawane do tabeli ConstraintCollection. Element ForeignKeyConstraint jest stosowany do kolumny klucza podstawowego i kolumny klucza obcego, a ograniczenie jest dodawane do tabeli podrzędnej ConstraintCollection.
Metoda ConstraintCollection używa standardowych metod kolekcji, takich jak Add, Cleari Remove. Ponadto Contains metoda może służyć do wyszukiwania istnienia określonego ograniczenia w kolekcji.
Obiekt UniqueConstraint jest tworzony, gdy obiekt DataColumn z jej Unique właściwością ustawioną DataTable na true
jest dodawany do obiektu DataColumnCollection.
Obiekt ForeignKeyConstraint jest tworzony po dodaniu obiektu DataRelation do DataSet obiektu DataRelationCollection.
Właściwości
Count |
Pobiera całkowitą liczbę elementów w kolekcji. (Odziedziczone po InternalDataCollectionBase) |
IsReadOnly |
Pobiera wartość wskazującą, czy InternalDataCollectionBase element jest tylko do odczytu. (Odziedziczone po InternalDataCollectionBase) |
IsSynchronized |
Pobiera wartość wskazującą, czy InternalDataCollectionBase element jest zsynchronizowany. (Odziedziczone po InternalDataCollectionBase) |
Item[Int32] |
Pobiera element Constraint z kolekcji w określonym indeksie. |
Item[String] |
Pobiera element Constraint z kolekcji o określonej nazwie. |
List |
Pobiera elementy kolekcji jako listę. |
List |
Pobiera elementy kolekcji jako listę. (Odziedziczone po InternalDataCollectionBase) |
SyncRoot |
Pobiera obiekt, który może służyć do synchronizowania kolekcji. (Odziedziczone po InternalDataCollectionBase) |
Metody
Add(Constraint) |
Dodaje określony Constraint obiekt do kolekcji. |
Add(String, DataColumn, Boolean) |
Tworzy nową UniqueConstraint o określonej nazwie, i wartości, która wskazuje, DataColumnczy kolumna jest kluczem podstawowym, i dodaje ją do kolekcji. |
Add(String, DataColumn, DataColumn) |
Tworzy nową ForeignKeyConstraint z określoną nazwą, kolumną nadrzędną i kolumną podrzędną oraz dodaje ograniczenie do kolekcji. |
Add(String, DataColumn[], Boolean) |
Tworzy nową UniqueConstraint z określoną nazwą, tablicą DataColumn obiektów i wartością wskazującą, czy kolumna jest kluczem podstawowym, i dodaje ją do kolekcji. |
Add(String, DataColumn[], DataColumn[]) |
Tworzy nowy ForeignKeyConstraintelement z określonymi tablicami kolumn nadrzędnych i kolumn podrzędnych oraz dodaje ograniczenie do kolekcji. |
AddRange(Constraint[]) |
Kopiuje elementy określonej ConstraintCollection tablicy na końcu kolekcji. |
CanRemove(Constraint) |
Wskazuje, czy Constraint element można usunąć. |
Clear() |
Czyści kolekcję wszystkich Constraint obiektów. |
Contains(String) |
Wskazuje, Constraint czy obiekt określony przez nazwę istnieje w kolekcji. |
CopyTo(Array, Int32) |
Kopiuje wszystkie elementy bieżącego InternalDataCollectionBase do jednowymiarowego Array, zaczynając od określonego InternalDataCollectionBase indeksu. (Odziedziczone po InternalDataCollectionBase) |
CopyTo(Constraint[], Int32) |
Kopiuje obiekty kolekcji do wystąpienia jednowymiarowego Array , zaczynając od określonego indeksu. |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetEnumerator() |
Pobiera element IEnumerator dla kolekcji. (Odziedziczone po InternalDataCollectionBase) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
IndexOf(Constraint) |
Pobiera indeks określonego Constraintelementu . |
IndexOf(String) |
Pobiera indeks określonego Constraint przez nazwę. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
OnCollectionChanged(CollectionChangeEventArgs) |
CollectionChanged Zgłasza zdarzenie. |
Remove(Constraint) |
Usuwa określony Constraint element z kolekcji. |
Remove(String) |
Constraint Usuwa obiekt określony przez nazwę z kolekcji. |
RemoveAt(Int32) |
Constraint Usuwa obiekt w określonym indeksie z kolekcji. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Zdarzenia
CollectionChanged |
Występuje za każdym razem, gdy obiekt ConstraintCollection jest zmieniany z powodu dodawania Constraint lub usuwania obiektów. |
Metody rozszerzania
Cast<TResult>(IEnumerable) |
Rzutuje elementy obiektu IEnumerable na określony typ. |
OfType<TResult>(IEnumerable) |
Filtruje elementy IEnumerable elementu na podstawie określonego typu. |
AsParallel(IEnumerable) |
Umożliwia równoległość zapytania. |
AsQueryable(IEnumerable) |
Konwertuje element IEnumerable na .IQueryable |
Dotyczy
Bezpieczeństwo wątkowe
Ten typ jest bezpieczny dla operacji odczytu wielowątkowego. Należy zsynchronizować wszystkie operacje zapisu.