ForeignKeyConstraint ForeignKeyConstraint ForeignKeyConstraint ForeignKeyConstraint Class

Definición

Representa la restricción de una acción impuesta a un conjunto de columnas en una relación entre clave principal y clave externa cuando se elimina o actualiza un valor o una fila.Represents an action restriction enforced on a set of columns in a primary key/foreign key relationship when a value or row is either deleted or updated.

public ref class ForeignKeyConstraint : System::Data::Constraint
[System.Serializable]
public class ForeignKeyConstraint : System.Data.Constraint
type ForeignKeyConstraint = class
    inherit Constraint
Public Class ForeignKeyConstraint
Inherits Constraint
Herencia
ForeignKeyConstraintForeignKeyConstraintForeignKeyConstraintForeignKeyConstraint
Atributos

Ejemplos

En el ejemplo siguiente se ForeignKeyConstraintcrea un, se establecen algunas de sus propiedades y se agrega DataTable a un ConstraintCollectionobjeto.The following example creates a ForeignKeyConstraint, sets some of its properties, and adds it to a DataTable object's ConstraintCollection.

' The next line goes into the Declarations section of the module:
' SuppliersProducts is a class derived from DataSet.
Private suppliersProducts As SuppliersProducts

Private Sub CreateConstraint()
    ' Declare parent column and child column variables.
    Dim parentColumn As DataColumn
    Dim childColumn As DataColumn
    Dim fkeyConstraint As ForeignKeyConstraint

    ' Set parent and child column variables.
    parentColumn = suppliersProducts.Tables("Suppliers").Columns("SupplierID")
    childColumn = suppliersProducts.Tables("Products").Columns("SupplierID")
    fkeyConstraint = New ForeignKeyConstraint( _
        "SupplierFKConstraint", parentColumn, childColumn)

    ' Set null values when a value is deleted.
    fkeyConstraint.DeleteRule = Rule.SetNull
    fkeyConstraint.UpdateRule = Rule.Cascade
    fkeyConstraint.AcceptRejectRule = AcceptRejectRule.Cascade

    ' Add the constraint, and set EnforceConstraints to true.
    suppliersProducts.Tables("Products").Constraints.Add(fkeyConstraint)
    suppliersProducts.EnforceConstraints = True
End Sub

Comentarios

Un ForeignKeyConstraint restringe la acción que se realiza cuando se elimina o se actualiza un valor de una columna (o columnas).A ForeignKeyConstraint restricts the action performed when a value in a column (or columns) is either deleted or updated. Esta restricción está pensada para usarse con columnas de clave principal.Such a constraint is intended to be used with primary key columns. En una relación de elementos primarios y secundarios entre dos tablas, la eliminación de un valor de la tabla primaria puede afectar a las filas secundarias de una de las siguientes maneras.In a parent/child relationship between two tables, deleting a value from the parent table can affect the child rows in one of the following ways.

  • También se pueden eliminar las filas secundarias (una acción en cascada).The child rows can also be deleted (a cascading action).

  • Los valores de la columna secundaria (o columnas) se pueden establecer en valores NULL.The values in the child column (or columns) can be set to null values.

  • Los valores de la columna secundaria (o columnas) se pueden establecer en valores predeterminados.The values in the child column (or columns) can be set to default values.

  • Se puede generar una excepción.An exception can be generated.

ForeignKeyConstraintlos ConstraintCollection objetos se incluyen en DataTablede, al que se tiene acceso a través Constraints de la propiedad.ForeignKeyConstraint objects are contained in the ConstraintCollection of a DataTable, which is accessed through the Constraints property.

No se aplican las restricciones a menos que la EnforceConstraints propiedad se establezca en true.Constraints are not enforced unless the EnforceConstraints property is set to true.

Se AcceptRejectRule aplica cuando se invoca el método DataTable de AcceptChanges un objeto.The AcceptRejectRule is enforced whenever a DataTable object's AcceptChanges method is invoked.

Constructores

ForeignKeyConstraint(DataColumn, DataColumn) ForeignKeyConstraint(DataColumn, DataColumn) ForeignKeyConstraint(DataColumn, DataColumn) ForeignKeyConstraint(DataColumn, DataColumn)

Inicializa una nueva instancia de la clase ForeignKeyConstraint con los objetos DataColumn primarios y secundarios especificados.Initializes a new instance of the ForeignKeyConstraint class with the specified parent and child DataColumn objects.

ForeignKeyConstraint(DataColumn[], DataColumn[]) ForeignKeyConstraint(DataColumn[], DataColumn[]) ForeignKeyConstraint(DataColumn[], DataColumn[]) ForeignKeyConstraint(DataColumn[], DataColumn[])

Inicializa una nueva instancia de la clase ForeignKeyConstraint con las matrices especificadas de objetos DataColumn primarios y secundarios.Initializes a new instance of the ForeignKeyConstraint class with the specified arrays of parent and child DataColumn objects.

ForeignKeyConstraint(String, DataColumn, DataColumn) ForeignKeyConstraint(String, DataColumn, DataColumn) ForeignKeyConstraint(String, DataColumn, DataColumn) ForeignKeyConstraint(String, DataColumn, DataColumn)

Inicializa una nueva instancia de la clase ForeignKeyConstraint con el nombre especificado para los objetos DataColumn primarios y secundarios.Initializes a new instance of the ForeignKeyConstraint class with the specified name, parent and child DataColumn objects.

ForeignKeyConstraint(String, DataColumn[], DataColumn[]) ForeignKeyConstraint(String, DataColumn[], DataColumn[]) ForeignKeyConstraint(String, DataColumn[], DataColumn[]) ForeignKeyConstraint(String, DataColumn[], DataColumn[])

Inicializa una nueva instancia de la clase ForeignKeyConstraint con el nombre y matrices especificados de objetos DataColumn primarios y secundarios.Initializes a new instance of the ForeignKeyConstraint class with the specified name, and arrays of parent and child DataColumn objects.

ForeignKeyConstraint(String, String, String, String[], String[], AcceptRejectRule, Rule, Rule) ForeignKeyConstraint(String, String, String, String[], String[], AcceptRejectRule, Rule, Rule) ForeignKeyConstraint(String, String, String, String[], String[], AcceptRejectRule, Rule, Rule) ForeignKeyConstraint(String, String, String, String[], String[], AcceptRejectRule, Rule, Rule)

Este constructor proporciona compatibilidad en tiempo de diseño en el entorno de Visual Studio.This constructor is provided for design time support in the Visual Studio environment. Los objetos ForeignKeyConstraint que se creen utilizando este constructor deben agregarse a la colección mediante AddRange(Constraint[]).ForeignKeyConstraint objects created by using this constructor must then be added to the collection via AddRange(Constraint[]). Deben existir tablas o columnas con los nombres especificados en el momento de llamar al método, o bien si se ha llamado a BeginInit() antes de llamar a este constructor, deben existir tablas o columnas con los nombres especificados en el momento de llamar a EndInit().Tables and columns with the specified names must exist at the time the method is called, or if BeginInit() has been called prior to calling this constructor, the tables and columns with the specified names must exist at the time that EndInit() is called.

ForeignKeyConstraint(String, String, String[], String[], AcceptRejectRule, Rule, Rule) ForeignKeyConstraint(String, String, String[], String[], AcceptRejectRule, Rule, Rule) ForeignKeyConstraint(String, String, String[], String[], AcceptRejectRule, Rule, Rule) ForeignKeyConstraint(String, String, String[], String[], AcceptRejectRule, Rule, Rule)

Este constructor proporciona compatibilidad en tiempo de diseño en el entorno de Visual Studio.This constructor is provided for design time support in the Visual Studio environment. Los objetos ForeignKeyConstraint que se creen utilizando este constructor deben agregarse a la colección mediante AddRange(Constraint[]).ForeignKeyConstraint objects created by using this constructor must then be added to the collection via AddRange(Constraint[]). Deben existir tablas o columnas con los nombres especificados en el momento de llamar al método, o bien si se ha llamado a BeginInit() antes de llamar a este constructor, deben existir tablas o columnas con los nombres especificados en el momento de llamar a EndInit().Tables and columns with the specified names must exist at the time the method is called, or if BeginInit() has been called prior to calling this constructor, the tables and columns with the specified names must exist at the time that EndInit() is called.

Propiedades

AcceptRejectRule AcceptRejectRule AcceptRejectRule AcceptRejectRule

Indica la acción que se debe llevar a cabo en esta restricción cuando se llama a AcceptChanges().Indicates the action that should take place across this constraint when AcceptChanges() is invoked.

Columns Columns Columns Columns

Obtiene las columnas secundarias de esta restricción.Gets the child columns of this constraint.

ConstraintName ConstraintName ConstraintName ConstraintName

Nombre de una restricción en el ConstraintCollection.The name of a constraint in the ConstraintCollection.

(Inherited from Constraint)
DeleteRule DeleteRule DeleteRule DeleteRule

Obtiene o establece la acción que se produce en esta restricción cuando se elimina una fila.Gets or sets the action that occurs across this constraint when a row is deleted.

ExtendedProperties ExtendedProperties ExtendedProperties ExtendedProperties

Obtiene la colección de propiedades de restricción definidas por el usuario.Gets the collection of user-defined constraint properties.

(Inherited from Constraint)
RelatedColumns RelatedColumns RelatedColumns RelatedColumns

Columnas primarias de esta restricción.The parent columns of this constraint.

RelatedTable RelatedTable RelatedTable RelatedTable

Obtiene la tabla primaria de esta restricción.Gets the parent table of this constraint.

Table Table Table Table

Obtiene la tabla secundaria de esta restricción.Gets the child table of this constraint.

UpdateRule UpdateRule UpdateRule UpdateRule

Obtiene o establece la acción que se produce en esta restricción cuando se actualiza una fila.Gets or sets the action that occurs across this constraint on when a row is updated.

_DataSet _DataSet _DataSet _DataSet

Obtiene el objeto DataSet al que pertenece esta restricción.Gets the DataSet to which this constraint belongs.

(Inherited from Constraint)

Métodos

CheckStateForProperty() CheckStateForProperty() CheckStateForProperty() CheckStateForProperty()

Obtiene el objeto DataSet al que pertenece esta restricción.Gets the DataSet to which this constraint belongs.

(Inherited from Constraint)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Obtiene un valor que indica si la clase ForeignKeyConstraint actual es idéntica al objeto especificado.Gets a value indicating whether the current ForeignKeyConstraint is identical to the specified object.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Obtiene el código hash de esta instancia del objeto ForeignKeyConstraint.Gets the hash code of this instance of the ForeignKeyConstraint object.

GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
SetDataSet(DataSet) SetDataSet(DataSet) SetDataSet(DataSet) SetDataSet(DataSet)

Establece el objeto DataSet de la restricción.Sets the constraint's DataSet.

(Inherited from Constraint)
ToString() ToString() ToString() ToString()

Obtiene el ConstraintName, si existe, como una cadena.Gets the ConstraintName, if there is one, as a string.

(Inherited from Constraint)

Se aplica a

Seguridad para subprocesos

Este tipo es seguro para las operaciones de lectura multiproceso.This type is safe for multithreaded read operations. Debe sincronizar cualquier operación de escritura.You must synchronize any write operations.

Consulte también: