Idioma

IForeignKey Interface

Definição

Representa uma relação em que uma chave estrangeira composta por propriedades no tipo de entidade dependente faz referência a uma chave primária ou alternativa correspondente no tipo de entidade principal.

public interface IForeignKey : Microsoft.EntityFrameworkCore.Infrastructure.IAnnotatable
public interface IForeignKey : Microsoft.EntityFrameworkCore.Infrastructure.IAnnotatable, Microsoft.EntityFrameworkCore.Metadata.IReadOnlyForeignKey
type IForeignKey = interface
    interface IAnnotatable
type IForeignKey = interface
    interface IReadOnlyForeignKey
    interface IReadOnlyAnnotatable
    interface IAnnotatable
Public Interface IForeignKey
Implements IAnnotatable
Public Interface IForeignKey
Implements IAnnotatable, IReadOnlyForeignKey
Derivado
Implementações

Comentários

Consulte os tipos e relações de entidade de modelagem para obter mais informações e exemplos.

Propriedades

Nome Descrição
DeclaringEntityType

Obtém o tipo de entidade dependente. Isso pode ser diferente do tipo definido quando a relação é definida como um tipo derivado em uma hierarquia de herança (já que Properties as propriedades podem ser definidas em um tipo base).

DeleteBehavior

Obtém um valor que indica como uma operação de exclusão é aplicada a entidades dependentes na relação quando a entidade de segurança é excluída ou a relação é cortada.

DependentToPrincipal

Obtém a propriedade de navegação no tipo de entidade dependente que aponta para a entidade principal.

IsConstrained

Obtém um valor que indica se a relação é restrita, ou seja, apoiada por uma garantia (como uma restrição de chave estrangeira de banco de dados) de que existe uma chave principal correspondente para cada valor de chave estrangeira definido. Quando false, nenhuma restrição de chave estrangeira de banco de dados é criada e as consultas tratam a relação como opcional mesmo quando as propriedades de chave estrangeira não são anuláveis – a entidade de segurança é carregada com uma junção à esquerda e nunca é considerada existir. Isso não afeta o controle de alterações: uma relação necessária (IsRequired) ainda é em cascata ou produz um nulo conceitual quando cortada, independentemente desse valor.

(Herdado de IReadOnlyForeignKey)
IsOwnership

Obtém ou define um valor que indica se essa relação define uma propriedade. Se true, a entidade dependente sempre deverá ser acessada por meio da navegação da entidade principal.

IsRequired

Obtém um valor que indica se a entidade principal é necessária. Se true, a entidade dependente sempre deverá ser atribuída a uma entidade de entidade de segurança válida.

IsRequiredDependent

Obtém um valor que indica se a entidade dependente é necessária. Se true, a entidade principal sempre deverá ter uma entidade dependente válida atribuída.

IsUnique

Obtém um valor que indica se os valores atribuídos às propriedades de chave estrangeira são exclusivos.

Item[String]

Obtém o valor da anotação com o nome fornecido, retornando null se ela não existir.

(Herdado de IReadOnlyAnnotatable)
PrincipalEntityType

Obtém o tipo de entidade principal destinado a essa relação. Isso pode ser diferente do tipo definido em quando a relação tem como destino um tipo derivado em uma hierarquia de herança (uma vez que PrincipalKey a chave é definida no tipo base da hierarquia).

PrincipalKey

Obtém a chave primária ou alternativa direcionada à relação.

PrincipalToDependent

Obtém a propriedade de navegação no tipo de entidade principal que aponta para a entidade dependente.

Properties

Obtém as propriedades de chave estrangeira na entidade dependente.

Métodos

Nome Descrição
AddRuntimeAnnotation(String, Object)

Adiciona uma anotação de runtime a esse objeto. Gerará se já existir uma anotação com o nome especificado.

(Herdado de IAnnotatable)
AnnotationsToDebugString(Int32)

Obtém a cadeia de caracteres de depuração para todas as anotações declaradas no objeto.

(Herdado de IReadOnlyAnnotatable)
FindAnnotation(String)

Obtém a anotação com o nome fornecido, retornando null se ela não existir.

(Herdado de IReadOnlyAnnotatable)
FindRuntimeAnnotation(String)

Obtém a anotação de runtime com o nome fornecido, retornando null se ela não existir.

(Herdado de IAnnotatable)
FindRuntimeAnnotationValue(String)

Obtém o valor da anotação de runtime com o nome fornecido, retornando null se ela não existir.

(Herdado de IAnnotatable)
GetAnnotation(String)

Obtém a anotação com o nome fornecido, lançando se ela não existir.

(Herdado de IReadOnlyAnnotatable)
GetAnnotations()

Obtém todas as anotações no objeto atual.

(Herdado de IReadOnlyAnnotatable)
GetDependentKeyValueFactory()

Cria uma fábrica para valores de chave com base nos valores de chave estrangeira obtidos de várias formas de dados de entidade.

Esse método normalmente é usado por provedores de banco de dados (e outras extensões). Geralmente, ele não é usado no código do aplicativo.

GetDependentKeyValueFactory<TKey>()

Cria uma fábrica para valores de chave com base nos valores de chave estrangeira obtidos de várias formas de dados de entidade.

Esse método normalmente é usado por provedores de banco de dados (e outras extensões). Geralmente, ele não é usado no código do aplicativo.

GetNavigation(Boolean)

Retorna uma navegação associada a essa chave estrangeira.

GetOrAddRuntimeAnnotationValue<TValue,TArg>(String, Func<TArg,TValue>, TArg)

Obtém o valor da anotação de runtime com o nome fornecido, adicionando-o se um não existir.

(Herdado de IAnnotatable)
GetReferencingSkipNavigations()

Obtém todas as navegaçãos de ignorar usando essa chave estrangeira.

GetRelatedEntityType(IReadOnlyEntityType)

Obtém o tipo de entidade relacionado ao determinado.

GetRuntimeAnnotations()

Obtém todas as anotações de runtime no objeto atual.

(Herdado de IAnnotatable)
IsBaseLinking()

Retorna um valor que indica se a chave estrangeira está definida na chave primária e apontando para a mesma chave primária.

(Herdado de IReadOnlyForeignKey)
IsEffectivelyRequired()

Retorna um valor que indica se um valor definido para essa chave estrangeira é garantido para fazer referência a uma entidade de segurança existente , ou seja, a relação é necessária (IsRequired) e restrita (IsConstrained). A consulta consulta isso para decidir se uma navegação dependente para entidade de segurança pode ser expandida com uma junção interna (e se essa junção pode ser podada); uma relação sem restrições é sempre tratada como opcional mesmo quando suas propriedades de chave estrangeira não são anuláveis.

(Herdado de IReadOnlyForeignKey)
RemoveRuntimeAnnotation(String)

Remove a anotação de runtime fornecida desse objeto.

(Herdado de IAnnotatable)
SetRuntimeAnnotation(String, Object)

Define a anotação de runtime armazenada sob a chave fornecida. Substituirá a anotação existente se já existir uma anotação com o nome especificado.

(Herdado de IAnnotatable)
ToDebugString(MetadataDebugStringOptions, Int32)

Cria uma representação legível por humanos dos metadados especificados.

Aviso: não dependa do formato da cadeia de caracteres retornada. Ele foi projetado apenas para depuração e pode mudar arbitrariamente entre versões.

(Herdado de IReadOnlyForeignKey)

Métodos de Extensão

Nome Descrição
AnnotationsToDebugString(IAnnotatable, Int32)

Obtém a cadeia de caracteres de depuração para todas as anotações declaradas no objeto.

FindSharedObjectRootForeignKey(IForeignKey, StoreObjectIdentifier)

Localiza o primeiro IForeignKey mapeado para a mesma restrição em um objeto de tabela compartilhado.

Esse método normalmente é usado por provedores de banco de dados (e outras extensões). Geralmente, ele não é usado no código do aplicativo.

FindSharedObjectRootForeignKey(IReadOnlyForeignKey, StoreObjectIdentifier)

Localiza o primeiro IForeignKey mapeado para a mesma restrição em um objeto de tabela compartilhado.

Esse método normalmente é usado por provedores de banco de dados (e outras extensões). Geralmente, ele não é usado no código do aplicativo.

GetAnnotation(IAnnotatable, String)

Obtém a anotação com o nome fornecido, lançando se ela não existir.

GetConstraintName(IForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

Retorna o nome da restrição de chave estrangeira.

GetConstraintName(IForeignKey)

Retorna o nome da restrição de chave estrangeira.

GetConstraintName(IReadOnlyForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

Retorna o nome da restrição de chave estrangeira.

GetConstraintName(IReadOnlyForeignKey)

Retorna o nome da restrição de chave estrangeira.

GetDefaultName(IForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

Retorna o nome de restrição padrão que seria usado para essa chave estrangeira.

GetDefaultName(IForeignKey)

Retorna o nome de restrição padrão que seria usado para essa chave estrangeira.

GetDefaultName(IReadOnlyForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

Retorna o nome de restrição padrão que seria usado para essa chave estrangeira.

GetDefaultName(IReadOnlyForeignKey)

Retorna o nome de restrição padrão que seria usado para essa chave estrangeira.

GetDependentKeyValueFactory<TKey>(IForeignKey)

Cria uma fábrica para valores de chave com base nos valores de chave estrangeira obtidos de várias formas de dados de entidade.

Esse método normalmente é usado por provedores de banco de dados (e outras extensões). Geralmente, ele não é usado no código do aplicativo.

GetFluentApiCalls(IForeignKey, IAnnotationCodeGenerator, Boolean)

Obtém as chamadas à API fluente para configurar uma chave estrangeira.

GetMappedConstraints(IForeignKey)

Obtém as restrições de chave estrangeira para as quais a chave estrangeira é mapeada.

GetNavigation(IForeignKey, Boolean)

Retorna uma navegação associada a essa chave estrangeira.

GetRelatedEntityType(IForeignKey, IEntityType)

Obtém o tipo de entidade relacionado ao determinado.

IsBaseLinking(IForeignKey)

Retorna um valor que indica se a chave estrangeira está definida na chave primária e apontando para a mesma chave primária.

IsExcludedFromMigrations(IReadOnlyForeignKey)

Retorna um valor que indica se a restrição de chave estrangeira é excluída das migrações.

IsRowInternal(IReadOnlyForeignKey, StoreObjectIdentifier)

Retorna um valor que indica se essa chave estrangeira está entre dois tipos de entidade compartilhando o mesmo objeto de repositório semelhante à tabela.

Relational(IForeignKey)

Obtém os metadados específicos do banco de dados relacional para uma chave estrangeira.

Sqlite(IForeignKey)

Obtém os metadados específicos do SQLite para uma chave estrangeira.

SqlServer(IForeignKey)

Obtém o SQL Server metadados específicos de uma chave estrangeira.

ToDebugString(IForeignKey, MetadataDebugStringOptions, Int32)

Cria uma representação legível por humanos dos metadados especificados.

Aviso: não dependa do formato da cadeia de caracteres retornada. Ele foi projetado apenas para depuração e pode mudar arbitrariamente entre versões.

Aplica-se a