DataRelation Class

Definition

Representa uma relação pai/filho entre dois objetos DataTable.Represents a parent/child relationship between two DataTable objects.

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
type DataRelation = class
Public Class DataRelation
Inheritance
DataRelation
Attributes

Examples

O exemplo a seguir cria um novo DataRelation e o adiciona ao DataRelationCollection de um 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

Remarks

Uma DataRelation é usada para relacionar dois objetos DataTable entre si por meio de objetos DataColumn.A DataRelation is used to relate two DataTable objects to each other through DataColumn objects. Por exemplo, em uma relação cliente/pedidos, a tabela clientes é o pai e a tabela pedidos é o filho da relação.For example, in a Customer/Orders relationship, the Customers table is the parent and the Orders table is the child of the relationship. Isso é semelhante a uma relação de chave primária/chave estrangeira.This is similar to a primary key/foreign key relationship. Para obter mais informações, consulte navegando em DataRelations.For more information, see Navigating DataRelations.

As relações são criadas entre as colunas correspondentes nas tabelas pai e filho.Relationships are created between matching columns in the parent and child tables. Ou seja, o valor de DataType para ambas as colunas deve ser idêntico.That is, the DataType value for both columns must be identical.

As relações também podem propagar várias alterações do DataRow pai para suas linhas filhas.Relationships can also cascade various changes from the parent DataRow to its child rows. Para controlar como os valores são alterados em linhas filhas, adicione um ForeignKeyConstraint à ConstraintCollection do objeto DataTable.To control how values are changed in child rows, add a ForeignKeyConstraint to the ConstraintCollection of the DataTable object. O ConstraintCollection determina a ação a ser tomada quando um valor em uma tabela pai é excluído ou atualizado.The ConstraintCollection determines what action to take when a value in a parent table is deleted or updated.

Quando um DataRelation é criado, ele primeiro verifica se a relação pode ser estabelecida.When a DataRelation is created, it first verifies that the relationship can be established. Depois que ele é adicionado à DataRelationCollection, a relação é mantida ao não permitir nenhuma alteração que a invalidaria.After it is added to the DataRelationCollection, the relationship is maintained by disallowing any changes that would invalidate it. Entre o período em que um DataRelation é criado e adicionado ao DataRelationCollection, é possível que sejam feitas alterações adicionais nas linhas pai ou filho.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. Uma exceção será gerada se isso causar uma relação que não é mais válida.An exception is generated if this causes a relationship that is no longer valid.

Note

Os dados corrompidos poderão ocorrer se uma relação bidirecional for definida entre duas tabelas.Data corruption can occur if a bi-directional relation is defined between two tables. Uma relação bidirecional consiste em dois objetos DataRelation que usam as mesmas colunas, com as funções pai-filho alternadas.A bi-directional relation consists of two DataRelation objects that use the same columns, with the parent-child roles switched. Nenhuma exceção é gerada quando os objetos de DataRelation são salvos; no entanto, pode ocorrer corrupção de dados.No exception is raised when the DataRelation objects are saved; however, data corruption can occur.

DataRelation objetos estão contidos em um DataRelationCollection, que pode ser acessado por meio da propriedade Relations do DataSete as propriedades ChildRelations e ParentRelations do 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.

Constructors

DataRelation(String, DataColumn, DataColumn)

Inicializa uma nova instância da classe DataRelation usando o nome DataRelation especificado e os objetos DataColumn pai e filho.Initializes a new instance of the DataRelation class using the specified DataRelation name, and parent and child DataColumn objects.

DataRelation(String, DataColumn, DataColumn, Boolean)

Inicializa uma nova instância da classe DataRelation usando o nome especificado, os objetos DataColumn pai e filho e um valor que indica se é necessário criar restrições.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[])

Inicializa uma nova instância da classe DataRelation usando o nome DataRelation e matrizes correspondentes de objetos DataColumn pai e filho.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)

Inicializa uma nova instância da classe DataRelation usando o nome especificado, matrizes correspondentes de objetos DataColumn pai e filho e um valor que indica se é necessário criar restrições.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)

Este construtor é fornecido para suporte de tempo de design no ambiente do Visual Studio.This constructor is provided for design time support in the Visual Studio environment.

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

Este construtor é fornecido para suporte de tempo de design no ambiente do Visual Studio.This constructor is provided for design time support in the Visual Studio environment.

Properties

ChildColumns

Obtém os objetos DataColumn filho dessa relação.Gets the child DataColumn objects of this relation.

ChildKeyConstraint

Obtém o ForeignKeyConstraint para a relação.Gets the ForeignKeyConstraint for the relation.

ChildTable

Obtém a tabela filho dessa relação.Gets the child table of this relation.

DataSet

Obtém o DataSet ao qual o DataRelation pertence.Gets the DataSet to which the DataRelation belongs.

ExtendedProperties

Obtém a coleção que armazena as propriedades personalizadas.Gets the collection that stores customized properties.

Nested

Obtém ou define um valor que indica se os objetos DataRelation são aninhados.Gets or sets a value that indicates whether DataRelation objects are nested.

ParentColumns

Obtém uma matriz de objetos DataColumn que são as colunas pai desse DataRelation.Gets an array of DataColumn objects that are the parent columns of this DataRelation.

ParentKeyConstraint

Obtém o UniqueConstraint que garante que os valores na coluna pai de um DataRelation são exclusivos.Gets the UniqueConstraint that guarantees that values in the parent column of a DataRelation are unique.

ParentTable

Obtém o pai DataTable desse DataRelation.Gets the parent DataTable of this DataRelation.

RelationName

Obtém ou define o nome usado para recuperar um DataRelation do DataRelationCollection.Gets or sets the name used to retrieve a DataRelation from the DataRelationCollection.

Methods

CheckStateForProperty()

Esse método oferece suporte a infraestrutura do .NET Framework e não se destina a ser usado diretamente do seu código.This method supports the .NET Framework infrastructure and is not intended to be used directly from your code.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Inherited from Object)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Inherited from Object)
OnPropertyChanging(PropertyChangedEventArgs)

Este membro é compatível com a infraestrutura .NET Framework e não se destina a ser usado diretamente de seu código.This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.

RaisePropertyChanging(String)

Este membro é compatível com a infraestrutura .NET Framework e não se destina a ser usado diretamente de seu código.This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.

ToString()

Obtém o RelationName, se houver.Gets the RelationName, if one exists.

Applies to

Thread Safety

Este tipo é seguro para operações de leitura e multithread.This type is safe for multithreaded read operations. Você deve sincronizar todas as operações de gravação.You must synchronize any write operations.

See also