Compartir a través de


DataRelation Clase

Definición

Representa una relación primaria-secundaria entre dos objetos DataTable.

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

Ejemplos

En el ejemplo siguiente se crea un nuevo DataRelation objeto y se agrega a DataRelationCollection de .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

DataRelation Se usa para relacionar dos DataTable objetos entre sí a través de DataColumn objetos . Por ejemplo, en una relación Customer/Orders, la tabla Customers es el elemento primario y la tabla Orders es el elemento secundario de la relación. Esto es similar a una relación de clave principal/clave externa. Para obtener más información, vea Navegar por DataRelations.

Las relaciones se crean entre las columnas coincidentes en las tablas primarias y secundarias. Es decir, el DataType valor de ambas columnas debe ser idéntico.

Las relaciones también pueden poner en cascada varios cambios del elemento primario DataRow a sus filas secundarias. Para controlar cómo se cambian los valores en las filas secundarias, agregue a ForeignKeyConstraint del ConstraintCollection DataTable objeto . ConstraintCollection determina qué acción realizar cuando se elimina o actualiza un valor de una tabla primaria.

Cuando se crea un DataRelation objeto , comprueba primero que se puede establecer la relación. Después de agregarlo a DataRelationCollection, la relación se mantiene al no permitir los cambios que la invaliden. Entre el período en DataRelation el que se crea y se agrega a DataRelationCollection, es posible realizar cambios adicionales en las filas primarias o secundarias. Se genera una excepción si esto provoca una relación que ya no es válida.

Nota

Los datos dañados pueden producirse si se define una relación bidireccional entre dos tablas. Una relación bidireccional consta de dos DataRelation objetos que usan las mismas columnas, con los roles primarios y secundarios modificados. No se produce ninguna excepción cuando se guardan los objetos; sin embargo, se pueden producir daños en los DataRelation datos.

DataRelation Los objetos están contenidos en un DataRelationCollection, al que se puede tener acceso a través de la Relations propiedad de DataSet, y las ChildRelations propiedades y ParentRelations de DataTable.

Constructores

DataRelation(String, DataColumn, DataColumn)

Inicializa una nueva instancia de la clase DataRelation mediante el nombre DataRelation especificado y los objetos DataColumn primarios y secundarios.

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.

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.

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.

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

Este constructor proporciona compatibilidad en tiempo de diseño en el entorno de Visual Studio.

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

Este constructor proporciona compatibilidad en tiempo de diseño en el entorno de Visual Studio.

Propiedades

ChildColumns

Obtiene los objetos DataColumn secundarios de esta relación.

ChildKeyConstraint

Obtiene el ForeignKeyConstraint para la relación.

ChildTable

Obtiene la tabla secundaria de esta relación.

DataSet

Obtiene el DataSet al que pertenece el DataRelation.

ExtendedProperties

Obtiene la colección que almacena propiedades personalizadas.

Nested

Obtiene o establece un valor que indica si se anidan objetos DataRelation.

ParentColumns

Obtiene una matriz de objetos DataColumn que son las columnas primarias de este DataRelation.

ParentKeyConstraint

Obtiene el objeto UniqueConstraint que garantiza que los valores de la columna primaria de un objeto DataRelation son únicos.

ParentTable

Obtiene el DataTable primario de DataRelation.

RelationName

Obtiene o establece el nombre utilizado para recuperar un DataRelation de DataRelationCollection.

Métodos

CheckStateForProperty()

Este método es compatible con la infraestructura de .NET y no está diseñado para utilizarse directamente desde el código.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
OnPropertyChanging(PropertyChangedEventArgs)

Este miembro es compatible con la infraestructura de .NET y no está diseñado para utilizarse directamente desde el código.

RaisePropertyChanging(String)

Este miembro es compatible con la infraestructura de .NET y no está diseñado para utilizarse directamente desde el código.

ToString()

Obtiene el RelationName, si existe alguno.

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