ConstraintCollection Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt een verzameling beperkingen voor een 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
- Overname
- Kenmerken
Voorbeelden
In het eerste voorbeeld wordt een DataTable, en wordt een DataColumn (met de Unique eigenschap ingesteld op true) toegevoegd aan de DataColumnCollection. In het tweede voorbeeld wordt een DataSet, twee DataTable objecten, vier kolommen en een DataRelation. Het aantal beperkingen wordt vervolgens afgedrukt om aan te geven dat een ForeignKeyConstraint en een UniqueConstraint worden gemaakt wanneer een DataRelation wordt toegevoegd aan het DataSet object 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
Opmerkingen
De ConstraintCollection toegang wordt geopend via de DataTable.Constraints accommodatie.
De ConstraintCollection kan zowel UniqueConstraint als ForeignKeyConstraint objecten voor de DataTable. Een UniqueConstraint object zorgt ervoor dat gegevens in een specifieke kolom altijd uniek zijn om de gegevensintegriteit te behouden. Hiermee ForeignKeyConstraint bepaalt u wat er gebeurt in gerelateerde tabellen wanneer gegevens in de DataTable tabellen worden bijgewerkt of verwijderd. Als een rij bijvoorbeeld wordt verwijderd, ForeignKeyConstraint wordt bepaald of de gerelateerde rijen ook worden verwijderd (trapsgewijs) of een andere actie.
Note
Wanneer u een DataRelation relatie tussen twee tabellen aan een DataSettoevoegt, worden zowel een ForeignKeyConstraint als een UniqueConstraint automatisch gemaakt. De UniqueConstraint waarde wordt toegepast op de primaire-sleutelkolom in het bovenliggende DataTableelement en de beperking wordt toegevoegd aan de tabel ConstraintCollection. De ForeignKeyConstraint waarde wordt toegepast op de primaire-sleutelkolom en de refererende-sleutelkolom en de beperking wordt toegevoegd aan de onderliggende tabel ConstraintCollection.
De ConstraintCollection methode maakt gebruik van standaardverzamelingsmethoden zoals Add, Clearen Remove. Daarnaast kan de Contains methode worden gebruikt om te zoeken naar het bestaan van een bepaalde beperking in de verzameling.
Een UniqueConstraint wordt gemaakt wanneer een DataColumn met de Unique eigenschap is ingesteld op true wordt toegevoegd aan een DataTable object DataColumnCollection.
Er ForeignKeyConstraint wordt een gemaakt wanneer een DataRelation wordt toegevoegd aan een DataSet object DataRelationCollection.
Eigenschappen
| Name | Description |
|---|---|
| Count |
Hiermee haalt u het totale aantal elementen in een verzameling op. (Overgenomen van InternalDataCollectionBase) |
| IsReadOnly |
Hiermee wordt een waarde opgehaald die aangeeft of het InternalDataCollectionBase kenmerk Alleen-lezen is. (Overgenomen van InternalDataCollectionBase) |
| IsSynchronized |
Hiermee wordt een waarde opgehaald die aangeeft of de InternalDataCollectionBase synchronisatie is uitgevoerd. (Overgenomen van InternalDataCollectionBase) |
| Item[Int32] |
Hiermee haalt u de Constraint verzameling op uit de opgegeven index. |
| Item[String] |
Hiermee haalt u de Constraint verzameling op met de opgegeven naam. |
| List |
Hiermee haalt u de items van de verzameling op als een lijst. |
| List |
Hiermee haalt u de items van de verzameling op als een lijst. (Overgenomen van InternalDataCollectionBase) |
| SyncRoot |
Hiermee haalt u een object op dat kan worden gebruikt om de verzameling te synchroniseren. (Overgenomen van InternalDataCollectionBase) |
Methoden
| Name | Description |
|---|---|
| Add(Constraint) |
Hiermee voegt u het opgegeven Constraint object toe aan de verzameling. |
| Add(String, DataColumn, Boolean) |
Hiermee maakt u een nieuwe UniqueConstraint met de opgegeven naam DataColumnen waarde die aangeeft of de kolom een primaire sleutel is en deze toevoegt aan de verzameling. |
| Add(String, DataColumn, DataColumn) |
Hiermee maakt u een nieuwe ForeignKeyConstraint met de opgegeven naam, bovenliggende kolom en onderliggende kolom en voegt u de beperking toe aan de verzameling. |
| Add(String, DataColumn[], Boolean) |
Hiermee maakt u een nieuwe UniqueConstraint met de opgegeven naam, matrix van DataColumn objecten en waarde die aangeeft of de kolom een primaire sleutel is en deze toevoegt aan de verzameling. |
| Add(String, DataColumn[], DataColumn[]) |
Hiermee maakt u een nieuwe ForeignKeyConstraint, met de opgegeven matrices van bovenliggende kolommen en onderliggende kolommen en voegt u de beperking toe aan de verzameling. |
| AddRange(Constraint[]) |
Kopieert de elementen van de opgegeven ConstraintCollection matrix naar het einde van de verzameling. |
| CanRemove(Constraint) |
Geeft aan of een Constraint kan worden verwijderd. |
| Clear() |
Hiermee wist u de verzameling van objecten Constraint . |
| Contains(String) |
Hiermee wordt aangegeven of het Constraint object dat op naam is opgegeven, bestaat in de verzameling. |
| CopyTo(Array, Int32) |
Kopieert alle elementen van de huidige InternalDataCollectionBase naar een eendimensionale Array, beginnend bij de opgegeven InternalDataCollectionBase index. (Overgenomen van InternalDataCollectionBase) |
| CopyTo(Constraint[], Int32) |
Kopieert de verzamelingsobjecten naar een eendimensionaal Array exemplaar dat begint bij de opgegeven index. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetEnumerator() |
Hiermee haalt u een IEnumerator voor de verzameling op. (Overgenomen van InternalDataCollectionBase) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| IndexOf(Constraint) |
Hiermee haalt u de index van de opgegeven Constraint. |
| IndexOf(String) |
Hiermee haalt u de index op van de Constraint opgegeven naam. |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| OnCollectionChanged(CollectionChangeEventArgs) |
Hiermee wordt de CollectionChanged gebeurtenis gegenereerd. |
| Remove(Constraint) |
Hiermee verwijdert u de opgegeven Constraint uit de verzameling. |
| Remove(String) |
Hiermee verwijdert u het Constraint object dat is opgegeven op naam uit de verzameling. |
| RemoveAt(Int32) |
Hiermee verwijdert u het Constraint object in de opgegeven index uit de verzameling. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
gebeurtenis
| Name | Description |
|---|---|
| CollectionChanged |
Treedt op wanneer het ConstraintCollection wordt gewijzigd omdat Constraint objecten worden toegevoegd of verwijderd. |
Extensiemethoden
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Hiermee schakelt u parallelle uitvoering van een query in. |
| AsQueryable(IEnumerable) |
Converteert een IEnumerable naar een IQueryable. |
| Cast<TResult>(IEnumerable) |
Cast de elementen van een IEnumerable naar het opgegeven type. |
| OfType<TResult>(IEnumerable) |
Hiermee filtert u de elementen van een IEnumerable op basis van een opgegeven type. |
Van toepassing op
Veiligheid thread
Dit type is veilig voor leesbewerkingen met meerdere leesbewerkingen. U moet schrijfbewerkingen synchroniseren.