Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Uma restrição de integridade referencial no Modelo de Dados de Entidade (EDM) é semelhante a uma restrição de integridade referencial em um banco de dados relacional. Da mesma forma que uma coluna (ou colunas) de uma tabela de banco de dados pode fazer referência à chave primária de outra tabela, uma propriedade (ou propriedades) de um tipo de entidade pode fazer referência à chave de entidade de outro tipo de entidade. O tipo de entidade referenciado é chamado de extremidade principal da restrição. O tipo de entidade que faz referência à extremidade principal é chamado de extremidade dependente da restrição.
Uma restrição de integridade referencial é definida como parte de uma associação entre dois tipos de entidade. A definição de uma restrição de integridade referencial especifica as seguintes informações:
O fim principal da restrição. (Um tipo de entidade cuja chave de entidade é referenciada pelo extremo dependente.)
A chave de entidade da extremidade principal.
O fim dependente da restrição. (Um tipo de entidade que possui uma ou mais propriedades que referenciam a chave da entidade principal.)
A propriedade ou propriedades de referência da extremidade dependente.
O objetivo das restrições de integridade referencial na EDM é assegurar que existem sempre associações válidas. Para obter mais informações, consulte Propriedade de chave estrangeira.
Exemplo
O diagrama abaixo mostra um modelo conceitual com duas associações: WrittenBy e PublishedBy. O Book tipo de entidade tem uma propriedade, PublisherId, que faz referência à chave de entidade do Publisher tipo de entidade quando você define uma restrição de integridade referencial na PublishedBy associação.
O ADO.NET Entity Framework usa uma linguagem específica de domínio (DSL) chamada linguagem de definição de esquema conceitual (CSDL) para definir modelos conceituais. O CSDL seguinte define uma restrição de integridade referencial à associação PublishedBy representada no modelo conceitual acima.
<Association Name="PublishedBy">
<End Type="BooksModel.Book" Role="Book" Multiplicity="*" >
</End>
<End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
<ReferentialConstraint>
<Principal Role="Publisher">
<PropertyRef Name="Id" />
</Principal>
<Dependent Role="Book">
<PropertyRef Name="PublisherId" />
</Dependent>
</ReferentialConstraint>
</Association>