DataRelation DataRelation DataRelation DataRelation Class

Definição

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))]
[System.Serializable]
public class DataRelation
type DataRelation = class
Public Class DataRelation
Herança
DataRelationDataRelationDataRelationDataRelation
Atributos

Exemplos

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

Comentários

Um DataRelation é usado para relacionar duas DataTable objetos uns aos outros por meio de DataColumn objetos.A DataRelation is used to relate two DataTable objects to each other through DataColumn objects. Por exemplo, em uma relação de pedidos do cliente, a tabela Customers é o pai e a tabela Orders é 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 estrangeira/chave primária.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.

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

As relações também podem colocar em cascata várias alterações do pai DataRow para suas linhas filho.Relationships can also cascade various changes from the parent DataRow to its child rows. Para controlar como os valores forem alterados em linhas filho, adicione uma ForeignKeyConstraint para o ConstraintCollection da DataTable objeto.To control how values are changed in child rows, add a ForeignKeyConstraint to the ConstraintCollection of the DataTable object. O ConstraintCollection determina qual ação será tomada quando um valor em uma tabela pai é excluída ou atualizada.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 para o DataRelationCollection, a relação é mantida, não permitindo que qualquer alteração que invalidaria a ele.After it is added to the DataRelationCollection, the relationship is maintained by disallowing any changes that would invalidate it. Entre o período quando um DataRelation é criado e adicionado ao DataRelationCollection, é possível que as alterações adicionais a serem feitas às 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 faz com que uma relação que não é mais válida.An exception is generated if this causes a relationship that is no longer valid.

Observação

Corrupção de dados pode ocorrer se uma relação bidirecional é 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 DataRelation objetos que usam as mesmas colunas, com as funções de 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 o DataRelation são salvas em objetos; 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 do Relations propriedade da DataSete o ChildRelations e ParentRelations propriedades 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.

Construtores

DataRelation(String, DataColumn, DataColumn) DataRelation(String, DataColumn, DataColumn) DataRelation(String, DataColumn, DataColumn) 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) DataRelation(String, DataColumn, DataColumn, Boolean) DataRelation(String, DataColumn, DataColumn, Boolean) 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[]) DataRelation(String, DataColumn[], DataColumn[]) DataRelation(String, DataColumn[], DataColumn[]) 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) DataRelation(String, DataColumn[], DataColumn[], Boolean) DataRelation(String, DataColumn[], DataColumn[], Boolean) 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) 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 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) DataRelation(String, String, String, String[], String[], Boolean) DataRelation(String, String, String, String[], String[], Boolean) 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.

Propriedades

ChildColumns ChildColumns ChildColumns ChildColumns

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

ChildKeyConstraint ChildKeyConstraint ChildKeyConstraint ChildKeyConstraint

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

ChildTable ChildTable ChildTable ChildTable

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

DataSet DataSet DataSet DataSet

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

ExtendedProperties ExtendedProperties ExtendedProperties ExtendedProperties

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

Nested Nested Nested 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 ParentColumns ParentColumns 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 ParentKeyConstraint ParentKeyConstraint 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 ParentTable ParentTable ParentTable

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

RelationName RelationName RelationName 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.

Métodos

CheckStateForProperty() CheckStateForProperty() CheckStateForProperty() 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) Equals(Object) Equals(Object) 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() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
OnPropertyChanging(PropertyChangedEventArgs) OnPropertyChanging(PropertyChangedEventArgs) OnPropertyChanging(PropertyChangedEventArgs) OnPropertyChanging(PropertyChangedEventArgs)

Esse membro oferece suporte à infraestrutura .NET Framework e não se destina à utilização diretamente no seu 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)

Esse membro oferece suporte à infraestrutura .NET Framework e não se destina à utilização diretamente no seu código.This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.

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

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

Aplica-se a

Acesso thread-safe

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.

Veja também