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 : System::Data::InternalDataCollectionBase
public ref class ConstraintCollection sealed : System::Data::InternalDataCollectionBase
[System.Serializable]
public class ConstraintCollection : System.Data.InternalDataCollectionBase
public sealed class ConstraintCollection : System.Data.InternalDataCollectionBase
[<System.Serializable>]
type ConstraintCollection = class
inherit InternalDataCollectionBase
type ConstraintCollection = class
inherit InternalDataCollectionBase
Public Class ConstraintCollection
Inherits InternalDataCollectionBase
Public NotInheritable 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) do obiektu DataColumnCollection. Drugi przykład tworzy DataSetobiekt , dwa DataTable obiekty, cztery kolumny i DataRelation. Liczba ograniczeń jest następnie drukowana, aby pokazać, że element ForeignKeyConstraint i UniqueConstraint jest tworzony 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 i UniqueConstraintForeignKeyConstraint dla elementu 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, funkcja określi, ForeignKeyConstraint czy powiązane wiersze są również usuwane (kaskadowo), czy też jakiś inny przebieg akcji.
Note
Po dodaniu elementu DataRelation , który tworzy relację między dwiema DataSettabelami w obiekcie , zarówno a ForeignKeyConstraint , jak 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ą na true jest dodawany do DataTable obiektu DataColumnCollection.
Element a ForeignKeyConstraint jest tworzony, gdy obiekt DataRelation jest dodawany do DataSet obiektu DataRelationCollection.
Właściwości
| Nazwa | Opis |
|---|---|
| Count |
Pobiera łączną 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
| Nazwa | Opis |
|---|---|
| Add(Constraint) |
Dodaje określony Constraint obiekt do kolekcji. |
| Add(String, DataColumn, Boolean) |
Tworzy nową UniqueConstraint z określoną nazwą, i wartością wskazującą, 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 ForeignKeyConstraintobiekt 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 można usunąć element Constraint . |
| 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 rozpoczynającego się 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() |
Pobiera Type 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 Object. (Odziedziczone po Object) |
| OnCollectionChanged(CollectionChangeEventArgs) |
CollectionChanged Wywołuje 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
| Nazwa | Opis |
|---|---|
| CollectionChanged |
Występuje za każdym razem, gdy obiekt ConstraintCollection zostanie zmieniony z powodu dodawania Constraint lub usuwania obiektów. |
Metody rozszerzania
| Nazwa | Opis |
|---|---|
| AsParallel(IEnumerable) |
Umożliwia równoległość zapytania. |
| AsQueryable(IEnumerable) |
Konwertuje IEnumerable na IQueryable. |
| Cast<TResult>(IEnumerable) |
Rzutuje elementy IEnumerable do określonego typu. |
| OfType<TResult>(IEnumerable) |
Filtruje elementy IEnumerable na podstawie określonego typu. |
Dotyczy
Bezpieczeństwo wątkowe
Ten typ jest bezpieczny w przypadku wielowątkowych operacji odczytu. Należy zsynchronizować wszystkie operacje zapisu.