DataRelation DataRelation DataRelation DataRelation Class

Definición

Representa una relación primaria-secundaria entre dos objetos DataTable.Represents a parent/child relationship between two DataTable objects.

public ref class DataRelation
[System.ComponentModel.TypeConverter(typeof(System.Data.RelationshipConverter))]
[System.Serializable]
public class DataRelation
type DataRelation = class
Public Class DataRelation
Herencia
DataRelationDataRelationDataRelationDataRelation
Atributos

Ejemplos

En el ejemplo siguiente se crea un nuevo DataRelation y lo agrega a la DataRelationCollection de un DataSet.The following example creates a new DataRelation and adds it to the DataRelationCollection of a DataSet.

private void CreateRelation() 
{
    // Get the DataColumn objects from two DataTable objects 
    // in a DataSet. Code to get the DataSet not shown here.
    DataColumn parentColumn = 
        DataSet1.Tables["Customers"].Columns["CustID"];
    DataColumn childColumn = 
        DataSet1.Tables["Orders"].Columns["CustID"];
    // Create DataRelation.
    DataRelation relCustOrder;
    relCustOrder = new DataRelation("CustomersOrders", 
        parentColumn, childColumn);
    // Add the relation to the DataSet.
    DataSet1.Relations.Add(relCustOrder);
}
Private Sub CreateRelation()
    ' Get the DataColumn objects from two DataTable objects 
    ' in a DataSet. Code to get the DataSet not shown here.
    Dim parentColumn As DataColumn = _
        DataSet1.Tables("Customers").Columns("CustID")
    Dim childColumn As DataColumn = DataSet1.Tables( _
        "Orders").Columns("CustID")

    ' Create DataRelation.
    Dim relCustOrder As DataRelation
    relCustOrder = New DataRelation( _
        "CustomersOrders", parentColumn, childColumn)

    ' Add the relation to the DataSet.
    DataSet1.Relations.Add(relCustOrder)
End Sub

Comentarios

Un DataRelation se utiliza para relacionar dos DataTable objetos entre sí a través DataColumn objetos.A DataRelation is used to relate two DataTable objects to each other through DataColumn objects. Por ejemplo, en una relación de pedidos del cliente, la tabla Customers es el elemento primario y la tabla Orders es el elemento secundario de la relación.For example, in a Customer/Orders relationship, the Customers table is the parent and the Orders table is the child of the relationship. Esto es similar a una relación de clave principal/clave externa.This is similar to a primary key/foreign key relationship. Para obtener más información, consulte navegar por objetos DataRelation.For more information, see Navigating DataRelations.

Se crean relaciones entre las columnas coincidentes en las tablas primarias y secundarias.Relationships are created between matching columns in the parent and child tables. Es decir, el DataType el valor de ambas columnas deben ser idénticos.That is, the DataType value for both columns must be identical.

Las relaciones también pueden actuar en cascada varios cambios desde el elemento primario DataRow hasta sus filas secundarias.Relationships can also cascade various changes from the parent DataRow to its child rows. Para controlar cómo se cambian los valores en las filas secundarias, agregue un ForeignKeyConstraint a la ConstraintCollection de la DataTable objeto.To control how values are changed in child rows, add a ForeignKeyConstraint to the ConstraintCollection of the DataTable object. El ConstraintCollection determina qué acción realizar cuando un valor en una tabla primaria se elimina o actualiza.The ConstraintCollection determines what action to take when a value in a parent table is deleted or updated.

Cuando un DataRelation está creado, primero se comprueba que se puede establecer la relación.When a DataRelation is created, it first verifies that the relationship can be established. Después de agregarlo a la DataRelationCollection, la relación se mantiene al no permitir los cambios que se invalidan.After it is added to the DataRelationCollection, the relationship is maintained by disallowing any changes that would invalidate it. Entre el período cuando un DataRelation se crea y agrega a la DataRelationCollection, es posible que los cambios adicionales que se modifiquen las filas primarias o secundarias.Between the period when a DataRelation is created and added to the DataRelationCollection, it is possible for additional changes to be made to the parent or child rows. Si esto hace que una relación que ya no es válida, se genera una excepción.An exception is generated if this causes a relationship that is no longer valid.

Nota

Pueden dañarse los datos si se define una relación bidireccional entre dos tablas.Data corruption can occur if a bi-directional relation is defined between two tables. Una relación bidireccional consta de dos DataRelation objetos que usan las mismas columnas, con las funciones de elementos primarios y secundarios conmutadas.A bi-directional relation consists of two DataRelation objects that use the same columns, with the parent-child roles switched. Se genera ninguna excepción cuando la DataRelation se guardan los objetos; sin embargo, pueden dañarse los datos.No exception is raised when the DataRelation objects are saved; however, data corruption can occur.

DataRelation objetos están contenidos en un DataRelationCollection, que puede tener acceso a través de la Relations propiedad de la DataSety el ChildRelations y ParentRelations propiedades de la DataTable.DataRelation objects are contained in a DataRelationCollection, which you can access through the Relations property of the DataSet, and the ChildRelations and ParentRelations properties of the DataTable.

Constructores

DataRelation(String, DataColumn, DataColumn) DataRelation(String, DataColumn, DataColumn) DataRelation(String, DataColumn, DataColumn) DataRelation(String, DataColumn, DataColumn)

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

DataRelation(String, DataColumn, DataColumn, Boolean) DataRelation(String, DataColumn, DataColumn, Boolean) DataRelation(String, DataColumn, DataColumn, Boolean) DataRelation(String, DataColumn, DataColumn, Boolean)

Inicializa una nueva instancia de la clase DataRelation utilizando el nombre especificado, los objetos DataColumn primarios y secundarios y un valor que indica si se van a crear restricciones.Initializes a new instance of the DataRelation class using the specified name, parent and child DataColumn objects, and a value that indicates whether to create constraints.

DataRelation(String, DataColumn[], DataColumn[]) DataRelation(String, DataColumn[], DataColumn[]) DataRelation(String, DataColumn[], DataColumn[]) DataRelation(String, DataColumn[], DataColumn[])

Inicializa una nueva instancia de la clase DataRelation mediante el nombre DataRelation especificado y las matrices coincidentes de los objetos DataColumn primarios y secundarios.Initializes a new instance of the DataRelation class using the specified DataRelation name and matched arrays of parent and child DataColumn objects.

DataRelation(String, DataColumn[], DataColumn[], Boolean) DataRelation(String, DataColumn[], DataColumn[], Boolean) DataRelation(String, DataColumn[], DataColumn[], Boolean) DataRelation(String, DataColumn[], DataColumn[], Boolean)

Inicializa una nueva instancia de la clase DataRelation utilizando el nombre especificado, matrices coincidentes de objetos DataColumn primarios y secundarios y un valor que indica si se van a crear restricciones.Initializes a new instance of the DataRelation class using the specified name, matched arrays of parent and child DataColumn objects, and value that indicates whether to create constraints.

DataRelation(String, String, String, String, String, String[], String[], Boolean) DataRelation(String, String, String, String, String, String[], String[], Boolean) DataRelation(String, String, String, String, String, String[], String[], Boolean) DataRelation(String, String, String, String, String, String[], String[], Boolean)

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.

DataRelation(String, String, String, String[], String[], Boolean) DataRelation(String, String, String, String[], String[], Boolean) DataRelation(String, String, String, String[], String[], Boolean) DataRelation(String, String, String, String[], String[], Boolean)

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.

Propiedades

ChildColumns ChildColumns ChildColumns ChildColumns

Obtiene los objetos DataColumn secundarios de esta relación.Gets the child DataColumn objects of this relation.

ChildKeyConstraint ChildKeyConstraint ChildKeyConstraint ChildKeyConstraint

Obtiene el ForeignKeyConstraint para la relación.Gets the ForeignKeyConstraint for the relation.

ChildTable ChildTable ChildTable ChildTable

Obtiene la tabla secundaria de esta relación.Gets the child table of this relation.

DataSet DataSet DataSet DataSet

Obtiene el DataSet al que pertenece el DataRelation.Gets the DataSet to which the DataRelation belongs.

ExtendedProperties ExtendedProperties ExtendedProperties ExtendedProperties

Obtiene la colección que almacena propiedades personalizadas.Gets the collection that stores customized properties.

Nested Nested Nested Nested

Obtiene o establece un valor que indica si se anidan objetos DataRelation.Gets or sets a value that indicates whether DataRelation objects are nested.

ParentColumns ParentColumns ParentColumns ParentColumns

Obtiene una matriz de objetos DataColumn que son las columnas primarias de este DataRelation.Gets an array of DataColumn objects that are the parent columns of this DataRelation.

ParentKeyConstraint ParentKeyConstraint ParentKeyConstraint ParentKeyConstraint

Obtiene el objeto UniqueConstraint que garantiza que los valores de la columna primaria de un objeto DataRelation son únicos.Gets the UniqueConstraint that guarantees that values in the parent column of a DataRelation are unique.

ParentTable ParentTable ParentTable ParentTable

Obtiene el DataTable primario de DataRelation.Gets the parent DataTable of this DataRelation.

RelationName RelationName RelationName RelationName

Obtiene o establece el nombre utilizado para recuperar un DataRelation de DataRelationCollection.Gets or sets the name used to retrieve a DataRelation from the DataRelationCollection.

Métodos

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

Este método es compatible con la infraestructura de .NET Framework y no está diseñado para utilizarse directamente desde el código.This method supports the .NET Framework infrastructure and is not intended to be used directly from your code.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Inherited from 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)
OnPropertyChanging(PropertyChangedEventArgs) OnPropertyChanging(PropertyChangedEventArgs) OnPropertyChanging(PropertyChangedEventArgs) OnPropertyChanging(PropertyChangedEventArgs)

Este miembro admite la infraestructura de .NET Framework y no está prevista su utilización directa desde el código.This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.

RaisePropertyChanging(String) RaisePropertyChanging(String) RaisePropertyChanging(String) RaisePropertyChanging(String)

Este miembro admite la infraestructura de .NET Framework y no está prevista su utilización directa desde el código.This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.

ToString() ToString() ToString() ToString()

Obtiene el RelationName, si existe alguno.Gets the RelationName, if one exists.

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 operaciones de escritura.You must synchronize any write operations.

Consulte también: