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 DataRelation un nuevo y se agrega DataRelationCollection a la DataSetde.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

Se utiliza para relacionar dos DataTable objetos entre sí a través DataColumn de objetos. DataRelationA DataRelation is used to relate two DataTable objects to each other through DataColumn objects. Por ejemplo, en una relación de cliente/pedidos, la tabla Customers es la tabla primaria 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 y clave externa.This is similar to a primary key/foreign key relationship. Para obtener más información, vea navegar por objetos DataRelation.For more information, see Navigating DataRelations.

Las relaciones se crean entre las columnas coincidentes en las tablas primaria y secundaria.Relationships are created between matching columns in the parent and child tables. Es decir, el DataType valor de ambas columnas debe ser idéntico.That is, the DataType value for both columns must be identical.

Las relaciones también pueden poner en cascada varios cambios del DataRow elemento primario a 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 ForeignKeyConstraint , agregue ConstraintCollection a la DataTable del objeto.To control how values are changed in child rows, add a ForeignKeyConstraint to the ConstraintCollection of the DataTable object. Determina ConstraintCollection la acción que se realizará cuando se elimine o se actualice un valor de una tabla primaria.The ConstraintCollection determines what action to take when a value in a parent table is deleted or updated.

Cuando se DataRelation crea un, primero comprueba que se pueda establecer la relación.When a DataRelation is created, it first verifies that the relationship can be established. Una vez que se agrega a DataRelationCollection, la relación se mantiene al no permitirse ningún cambio que la invalide.After it is added to the DataRelationCollection, the relationship is maintained by disallowing any changes that would invalidate it. Entre el período DataRelation en el que se crea y se agrega DataRelationCollectiona, es posible realizar cambios adicionales en 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. Se genera una excepción si esto provoca una relación que ya no es válida.An exception is generated if this causes a relationship that is no longer valid.

Nota

Pueden producirse daños en 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 los roles primario-secundario conmutados.A bi-directional relation consists of two DataRelation objects that use the same columns, with the parent-child roles switched. No se produce ninguna excepción cuando DataRelation se guardan los objetos; sin embargo, pueden producirse daños en los datos.No exception is raised when the DataRelation objects are saved; however, data corruption can occur.

DataRelationlos objetos se incluyen en DataRelationCollection, al que se puede tener acceso Relations a través de DataSetla propiedad de ChildRelations , ParentRelations y las propiedades DataTabley de.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 cualquier operación de escritura.You must synchronize any write operations.

Consulte también: