ConstraintCollection Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
A a kényszerek gyűjteményét jelöli.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
- Öröklődés
- Attribútumok
Példák
Az első példa létrehoz egy DataTable, és hozzáad egy DataColumn ( Unique a tulajdonsága szerint true) a DataColumnCollection. A második példa egy DataSet, két DataTable objektumot, négy oszlopot és egy DataRelation. A kényszerek száma ezután ki lesz nyomtatva, hogy ForeignKeyConstraint a rendszer egy és egy UniqueConstraint elemet hoz létre, amikor DataRelation hozzáad egy objektumot az DataSet objektumhoz 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
Megjegyzések
A ConstraintCollection tulajdonságon keresztül DataTable.Constraints érhető el.
A ConstraintCollection fájl mindkét objektumot és UniqueConstraint objektumot tartalmazzaForeignKeyConstraint.DataTable Az UniqueConstraint objektumok biztosítják, hogy egy adott oszlop adatai mindig egyediek legyenek az adatintegritás megőrzése érdekében. Ez ForeignKeyConstraint határozza meg, hogy mi történik a kapcsolódó táblákban, amikor az DataTable adatok frissülnek vagy törlődnek. Ha például töröl egy sort, a ForeignKeyConstraint rendszer meghatározza, hogy a kapcsolódó sorok is törlődnek-e (kaszkádolt) vagy valamilyen más művelet.
Note
Amikor olyan táblát DataRelation ad hozzá, amely két tábla közötti kapcsolatot hoz létre egy DataSettáblához, a rendszer automatikusan létrehozza az a ForeignKeyConstraint és a táblát UniqueConstraint is. Ez UniqueConstraint a szülő DataTableelsődleges kulcsoszlopára lesz alkalmazva, és a korlátozás hozzá lesz adva a táblahoz ConstraintCollection. A ForeignKeyConstraint rendszer az elsődleges kulcs oszlopára és az idegenkulcs-oszlopra alkalmazza, és a kényszer hozzá lesz adva a gyermektábla ConstraintCollection.
A ConstraintCollection standard gyűjtési módszereket használják, például Add: , Clearés Remove. Emellett a Contains metódussal megkereshető egy adott korlátozás a gyűjteményben.
A UniqueConstraint akkor jön létre, ha egy objektumhoz hozzáad egy DataColumnUnique tulajdonságot trueDataTableDataColumnCollection.
A ForeignKeyConstraint akkor jön létre, ha egy DataRelation objektumhoz hozzáad egy DataSet objektumot DataRelationCollection.
Tulajdonságok
| Name | Description |
|---|---|
| Count |
Lekéri a gyűjtemény elemeinek teljes számát. (Öröklődés forrása InternalDataCollectionBase) |
| IsReadOnly |
Olyan értéket kap, amely jelzi, hogy az InternalDataCollectionBase írásvédett-e. (Öröklődés forrása InternalDataCollectionBase) |
| IsSynchronized |
Olyan értéket kap, amely jelzi, hogy szinkronizálva InternalDataCollectionBase van-e. (Öröklődés forrása InternalDataCollectionBase) |
| Item[Int32] |
Lekéri a Constraint gyűjteményből a megadott indexet. |
| Item[String] |
Lekéri a Constraint gyűjteményből a megadott névvel. |
| List |
Lekéri a gyűjtemény elemeit listaként. |
| List |
Lekéri a gyűjtemény elemeit listaként. (Öröklődés forrása InternalDataCollectionBase) |
| SyncRoot |
Lekéri a gyűjtemény szinkronizálására használható objektumot. (Öröklődés forrása InternalDataCollectionBase) |
Metódusok
| Name | Description |
|---|---|
| Add(Constraint) |
Hozzáadja a megadott Constraint objektumot a gyűjteményhez. |
| Add(String, DataColumn, Boolean) |
Létrehoz egy újat UniqueConstraint a megadott névvel és értékkel, DataColumnamely jelzi, hogy az oszlop elsődleges kulcs-e, és hozzáadja a gyűjteményhez. |
| Add(String, DataColumn, DataColumn) |
Létrehoz egy újat ForeignKeyConstraint a megadott névvel, szülőoszlopmal és gyermekoszlopmal, és hozzáadja a korlátozást a gyűjteményhez. |
| Add(String, DataColumn[], Boolean) |
Létrehoz egy újat UniqueConstraint a megadott névvel, objektumtömbdel DataColumn és értékkel, amely jelzi, hogy az oszlop elsődleges kulcs-e, és hozzáadja a gyűjteményhez. |
| Add(String, DataColumn[], DataColumn[]) |
Létrehoz egy újat ForeignKeyConstrainta szülőoszlopok és gyermekoszlopok megadott tömbjeivel, és hozzáadja a korlátozást a gyűjteményhez. |
| AddRange(Constraint[]) |
Másolja a megadott ConstraintCollection tömb elemeit a gyűjtemény végére. |
| CanRemove(Constraint) |
Azt jelzi, hogy eltávolítható-e.Constraint |
| Clear() |
Törli az objektumok gyűjteményét Constraint . |
| Contains(String) |
Azt jelzi, hogy a Constraint név alapján megadott objektum létezik-e a gyűjteményben. |
| CopyTo(Array, Int32) |
Az aktuális InternalDataCollectionBase elem minden elemét egy egydimenziósra Arraymásolja, a megadott InternalDataCollectionBase indextől kezdve. (Öröklődés forrása InternalDataCollectionBase) |
| CopyTo(Constraint[], Int32) |
A gyűjteményobjektumokat egy egydimenziós Array példányba másolja a megadott indextől kezdve. |
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| GetEnumerator() |
Lekéri IEnumerator a gyűjteményt. (Öröklődés forrása InternalDataCollectionBase) |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| IndexOf(Constraint) |
Lekéri a megadott Constraintindexet. |
| IndexOf(String) |
Lekéri a megadott név alapján megadott indexet Constraint . |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| OnCollectionChanged(CollectionChangeEventArgs) |
Az eseményt emeli CollectionChanged ki. |
| Remove(Constraint) |
Eltávolítja a megadottt Constraint a gyűjteményből. |
| Remove(String) |
Eltávolítja a Constraint név alapján megadott objektumot a gyűjteményből. |
| RemoveAt(Int32) |
Eltávolítja a Constraint megadott index objektumát a gyűjteményből. |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
esemény
| Name | Description |
|---|---|
| CollectionChanged |
Akkor fordul elő, ha az ConstraintCollectionConstraint objektumokat hozzáadják vagy eltávolítják. |
Bővítő metódusok
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Lehetővé teszi a lekérdezés párhuzamosítását. |
| AsQueryable(IEnumerable) |
Átalakítja az egyiket IEnumerableIQueryable. |
| Cast<TResult>(IEnumerable) |
Egy elem elemeit IEnumerable a megadott típusra veti. |
| OfType<TResult>(IEnumerable) |
Egy adott típus alapján szűri IEnumerable egy adott elem elemeit. |
A következőre érvényes:
Szálbiztonság
Ez a típus biztonságos a többszálas olvasási műveletekhez. Minden írási műveletet szinkronizálnia kell.