ForeignKeyConstraint Clase

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.

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

Ejemplos

En el ejemplo siguiente se crea un ForeignKeyConstraintobjeto , se establecen algunas de sus propiedades y se agregan a DataTable 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

Restringe ForeignKeyConstraint la acción realizada cuando se elimina o actualiza un valor de una columna (o columnas). Esta restricción está pensada para usarse con columnas de clave principal. En una relación primaria o secundaria entre dos tablas, la eliminación de un valor de la tabla primaria puede afectar a las filas secundarias de una de las maneras siguientes.

  • Las filas secundarias también se pueden eliminar (una acción en cascada).

  • Los valores de la columna secundaria (o columnas) se pueden establecer en valores NULL.

  • Los valores de la columna secundaria (o columnas) se pueden establecer en valores predeterminados.

  • Se puede generar una excepción.

ForeignKeyConstraint los objetos están contenidos en de ConstraintCollection un DataTable, al que se accede a través de la Constraints propiedad .

Las restricciones no se aplican a menos que la EnforceConstraints propiedad se establezca trueen .

AcceptRejectRule se aplica cada vez que se invoca el método de AcceptChanges un DataTable objeto.

Constructores

ForeignKeyConstraint(DataColumn, DataColumn)

Inicializa una nueva instancia de la clase ForeignKeyConstraint con los objetos DataColumn primarios y secundarios especificados.

ForeignKeyConstraint(DataColumn[], DataColumn[])

Inicializa una nueva instancia de la clase ForeignKeyConstraint con las matrices especificadas de objetos DataColumn primarios y secundarios.

ForeignKeyConstraint(String, DataColumn, DataColumn)

Inicializa una nueva instancia de la clase ForeignKeyConstraint con el nombre especificado para los objetos DataColumn primarios y secundarios.

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

Inicializa una nueva instancia de la clase ForeignKeyConstraint con el nombre y matrices especificados de objetos DataColumn primarios y secundarios.

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

Este constructor proporciona compatibilidad en tiempo de diseño en el entorno de Visual Studio. Los objetos ForeignKeyConstraint que se creen utilizando este constructor deben agregarse a la colección mediante 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().

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

Este constructor proporciona compatibilidad en tiempo de diseño en el entorno de Visual Studio. Los objetos ForeignKeyConstraint que se creen utilizando este constructor deben agregarse a la colección mediante 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().

Propiedades

_DataSet

Obtiene el objeto DataSet al que pertenece esta restricción.

(Heredado de Constraint)
AcceptRejectRule

Indica la acción que se debe llevar a cabo en esta restricción cuando se llama a AcceptChanges().

Columns

Obtiene las columnas secundarias de esta restricción.

ConstraintName

Nombre de una restricción en el ConstraintCollection.

(Heredado de Constraint)
DeleteRule

Obtiene o establece la acción que se produce en esta restricción cuando se elimina una fila.

ExtendedProperties

Obtiene la colección de propiedades de restricción definidas por el usuario.

(Heredado de Constraint)
RelatedColumns

Columnas primarias de esta restricción.

RelatedTable

Obtiene la tabla primaria de esta restricción.

Table

Obtiene la tabla secundaria de esta restricción.

UpdateRule

Obtiene o establece la acción que se produce en esta restricción cuando se actualiza una fila.

Métodos

CheckStateForProperty()

Obtiene el objeto DataSet al que pertenece esta restricción.

(Heredado de Constraint)
Equals(Object)

Obtiene un valor que indica si la clase ForeignKeyConstraint actual es idéntica al objeto especificado.

GetHashCode()

Obtiene el código hash de esta instancia del objeto ForeignKeyConstraint.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
SetDataSet(DataSet)

Establece el objeto DataSet de la restricción.

(Heredado de Constraint)
ToString()

Obtiene el ConstraintName, si existe, como una cadena.

(Heredado de Constraint)

Se aplica a

Seguridad para subprocesos

Este tipo es seguro para las operaciones de lectura multiproceso. Debe sincronizar las operaciones de escritura.

Consulte también