Compartilhar via


ReferenceOwnershipBuilder Classe

Definição

Fornece uma API simples para configurar uma propriedade um-para-um.

public class ReferenceOwnershipBuilder : Microsoft.EntityFrameworkCore.Metadata.Builders.ReferenceReferenceBuilderBase, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>
type ReferenceOwnershipBuilder = class
    inherit ReferenceReferenceBuilderBase
    interface IInfrastructure<InternalEntityTypeBuilder>
Public Class ReferenceOwnershipBuilder
Inherits ReferenceReferenceBuilderBase
Implements IInfrastructure(Of InternalEntityTypeBuilder)
Herança
ReferenceOwnershipBuilder
Derivado
Implementações
IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>

Construtores

ReferenceOwnershipBuilder(EntityType, EntityType, InternalRelationshipBuilder)

Essa API dá suporte à infraestrutura do Entity Framework Core e não se destina a ser usada diretamente do seu código. Essa API pode ser alterada ou removida em versões futuras.

ReferenceOwnershipBuilder(InternalRelationshipBuilder, ReferenceOwnershipBuilder, Boolean, Boolean, Boolean, Boolean)

Essa API dá suporte à infraestrutura do Entity Framework Core e não se destina a ser usada diretamente do seu código. Essa API pode ser alterada ou removida em versões futuras.

Propriedades

Builder

Obtém o construtor interno que está sendo usado para configurar essa relação.

(Herdado de ReferenceReferenceBuilderBase)
DeclaringEntityType

Obtém o primeiro tipo de entidade usado para configurar essa relação.

(Herdado de ReferenceReferenceBuilderBase)
Metadata

A chave estrangeira que representa essa relação.

(Herdado de ReferenceReferenceBuilderBase)
OwnedEntityType

O tipo de entidade de propriedade que está sendo configurado.

RelatedEntityType

Obtém o segundo tipo de entidade usado para configurar essa relação.

(Herdado de ReferenceReferenceBuilderBase)

Métodos

FindRelatedEntityType(String, String)

Essa API dá suporte à infraestrutura do Entity Framework Core e não se destina a ser usada diretamente do seu código. Essa API pode ser alterada ou removida em versões futuras.

FindRelatedEntityType(Type, String)

Essa API dá suporte à infraestrutura do Entity Framework Core e não se destina a ser usada diretamente do seu código. Essa API pode ser alterada ou removida em versões futuras.

HasChangeTrackingStrategy(ChangeTrackingStrategy)

Configura o ChangeTrackingStrategy a ser usado para esse tipo de entidade. Essa estratégia indica como o contexto detecta alterações nas propriedades de uma instância do tipo de entidade.

HasData(Object[])

Configura essa entidade para ter dados de semente. Ele é usado para gerar migrações de movimento de dados.

HasEntityTypeAnnotation(String, Object)

Adiciona ou atualiza uma anotação no tipo de entidade de propriedade. Se uma anotação com a chave especificada em annotation já existir, seu valor será atualizado.

HasForeignKey(String[])

Configura as propriedades a serem usadas como chave estrangeira para essa relação.

Se os nomes de propriedade especificados não existirem no tipo de entidade, uma nova(s) propriedade(s) de estado de sombra será adicionada para servir como a chave estrangeira. Uma propriedade de estado de sombra é aquela que não tem uma propriedade correspondente na classe de entidade. O valor atual da propriedade é armazenado no ChangeTracker em vez de ser armazenado em instâncias da classe de entidade.

Se HasPrincipalKey(String[]) não for especificado, será feita uma tentativa de corresponder ao tipo de dados e à ordem das propriedades de chave estrangeira com a chave primária do tipo de entidade principal. Se elas não corresponderem, novas propriedades de estado de sombra que formam um índice exclusivo serão adicionadas ao tipo de entidade principal para servir como a chave de referência.

HasForeignKeyAnnotation(String, Object)

Adiciona ou atualiza uma anotação na chave estrangeira. Se uma anotação com a chave especificada em annotation já existir, seu valor será atualizado.

HasIndex(String[])

Configura um índice nas propriedades especificadas. Se houver um índice existente no conjunto de propriedades fornecido, o índice existente será retornado para configuração.

HasKey(String[])

Define as propriedades que compõem a chave primária para esse tipo de entidade de propriedade.

HasMany(String, String)

Configura uma relação em que esse tipo de entidade tem uma coleção que contém instâncias do outro tipo na relação.

Observe que chamar esse método sem parâmetros configurará explicitamente esse lado da relação para não usar nenhuma propriedade de navegação, mesmo que essa propriedade exista no tipo de entidade. Se a propriedade de navegação for usada, ela deverá ser especificada.

Depois de chamar esse método, você deve encadear uma chamada para WithOne(String) para configurar totalmente a relação. Chamar apenas esse método sem a chamada encadeada não produzirá uma relação válida.

HasMany(Type, String)

Configura uma relação em que esse tipo de entidade tem uma coleção que contém instâncias do outro tipo na relação.

Observe que chamar esse método sem parâmetros configurará explicitamente esse lado da relação para não usar nenhuma propriedade de navegação, mesmo que essa propriedade exista no tipo de entidade. Se a propriedade de navegação for usada, ela deverá ser especificada.

Depois de chamar esse método, você deve encadear uma chamada para WithOne(String) para configurar totalmente a relação. Chamar apenas esse método sem a chamada encadeada não produzirá uma relação válida.

HasOne(String, String)

Configura uma relação em que esse tipo de entidade tem uma referência que aponta para uma única instância do outro tipo na relação.

Observe que chamar esse método sem parâmetros configurará explicitamente esse lado da relação para não usar nenhuma propriedade de navegação, mesmo que essa propriedade exista no tipo de entidade. Se a propriedade de navegação for usada, ela deverá ser especificada.

Depois de chamar esse método, você deve encadear uma chamada para WithMany(String) ou WithOne(String) para configurar totalmente a relação. Chamar apenas esse método sem a chamada encadeada não produzirá uma relação válida.

HasOne(Type, String)

Configura uma relação em que esse tipo de entidade tem uma referência que aponta para uma única instância do outro tipo na relação.

Observe que chamar esse método sem parâmetros configurará explicitamente esse lado da relação para não usar nenhuma propriedade de navegação, mesmo que essa propriedade exista no tipo de entidade. Se a propriedade de navegação for usada, ela deverá ser especificada.

Depois de chamar esse método, você deve encadear uma chamada para WithMany(String) ou WithOne(String) para configurar totalmente a relação. Chamar apenas esse método sem a chamada encadeada não produzirá uma relação válida.

HasPrincipalKey(String[])

Configura as propriedades exclusivas direcionadas a essa relação, ou seja, no tipo de entidade de proprietário. Normalmente, você só chamaria esse método se quisesse usar uma(s) propriedade(s) diferente da chave primária como as propriedades principais. Se as propriedades especificadas ainda não forem uma restrição exclusiva (ou a chave primária), uma nova restrição exclusiva será introduzida.

Ignore(String)

Exclui a propriedade fornecida do tipo de entidade. Esse método normalmente é usado para remover propriedades do tipo de entidade de propriedade que foram adicionadas por convenção.

OnDelete(DeleteBehavior)

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

OwnsMany(String, String)

Configura uma relação em que a entidade de destino pertence a (ou parte) dessa entidade.

O tipo de entidade de destino para cada relação de propriedade é tratado como um tipo de entidade diferente, mesmo que a navegação seja do mesmo tipo. A configuração do tipo de entidade de destino não é aplicada ao tipo de entidade de destino de outras relações de propriedade.

A maioria das operações em uma entidade de propriedade requer acessá-la por meio da entidade de proprietário usando a navegação correspondente.

OwnsMany(String, String, Action<CollectionOwnershipBuilder>)

Configura uma relação em que esse tipo de entidade fornece identidade para o outro tipo na relação.

OwnsMany(Type, String)

Configura uma relação em que a entidade de destino pertence a (ou parte) dessa entidade.

O tipo de entidade de destino para cada relação de propriedade é tratado como um tipo de entidade diferente, mesmo que a navegação seja do mesmo tipo. A configuração do tipo de entidade de destino não é aplicada ao tipo de entidade de destino de outras relações de propriedade.

A maioria das operações em uma entidade de propriedade requer acessá-la por meio da entidade de proprietário usando a navegação correspondente.

OwnsMany(Type, String, Action<CollectionOwnershipBuilder>)

Configura uma relação em que esse tipo de entidade fornece identidade para o outro tipo na relação.

OwnsOne(String, String)

Configura uma relação em que a entidade de destino pertence a (ou parte) dessa entidade. O valor da chave de entidade de destino sempre é propagado da entidade à qual pertence.

O tipo de entidade de destino para cada relação de propriedade é tratado como um tipo de entidade diferente, mesmo que a navegação seja do mesmo tipo. A configuração do tipo de entidade de destino não é aplicada ao tipo de entidade de destino de outras relações de propriedade.

A maioria das operações em uma entidade de propriedade requer acessá-la por meio da entidade de proprietário usando a navegação correspondente.

OwnsOne(String, String, Action<ReferenceOwnershipBuilder>)

Configura uma relação em que a entidade de destino pertence a (ou parte) dessa entidade. O valor da chave de entidade de destino sempre é propagado da entidade à qual pertence.

O tipo de entidade de destino para cada relação de propriedade é tratado como um tipo de entidade diferente, mesmo que a navegação seja do mesmo tipo. A configuração do tipo de entidade de destino não é aplicada ao tipo de entidade de destino de outras relações de propriedade.

A maioria das operações em uma entidade de propriedade requer acessá-la por meio da entidade de proprietário usando a navegação correspondente.

OwnsOne(Type, String)

Configura uma relação em que a entidade de destino pertence a (ou parte) dessa entidade. O valor da chave de entidade de destino sempre é propagado da entidade à qual pertence.

O tipo de entidade de destino para cada relação de propriedade é tratado como um tipo de entidade diferente, mesmo que a navegação seja do mesmo tipo. A configuração do tipo de entidade de destino não é aplicada ao tipo de entidade de destino de outras relações de propriedade.

A maioria das operações em uma entidade de propriedade requer acessá-la por meio da entidade de proprietário usando a navegação correspondente.

OwnsOne(Type, String, Action<ReferenceOwnershipBuilder>)

Configura uma relação em que a entidade de destino pertence a (ou parte) dessa entidade. O valor da chave de entidade de destino sempre é propagado da entidade à qual pertence.

O tipo de entidade de destino para cada relação de propriedade é tratado como um tipo de entidade diferente, mesmo que a navegação seja do mesmo tipo. A configuração do tipo de entidade de destino não é aplicada ao tipo de entidade de destino de outras relações de propriedade.

A maioria das operações em uma entidade de propriedade requer acessá-la por meio da entidade de proprietário usando a navegação correspondente.

Property(String)

Retorna um objeto que pode ser usado para configurar uma propriedade do tipo de entidade de propriedade. Se nenhuma propriedade com o nome fornecido existir, uma nova propriedade será adicionada.

Ao adicionar uma nova propriedade com essa sobrecarga, o nome da propriedade deve corresponder ao nome de uma propriedade ou campo CLR no tipo de entidade. Essa sobrecarga não pode ser usada para adicionar uma nova propriedade de estado de sombra.

Property(Type, String)

Retorna um objeto que pode ser usado para configurar uma propriedade do tipo de entidade de propriedade. Se nenhuma propriedade com o nome fornecido existir, uma nova propriedade será adicionada.

Ao adicionar uma nova propriedade, se houver uma propriedade com o mesmo nome na classe de entidade, ela será adicionada ao modelo. Se nenhuma propriedade existir na classe de entidade, uma nova propriedade de estado de sombra será adicionada. Uma propriedade de estado de sombra é aquela que não tem uma propriedade correspondente na classe de entidade. O valor atual da propriedade é armazenado no ChangeTracker em vez de ser armazenado em instâncias da classe de entidade.

Property<TProperty>(String)

Retorna um objeto que pode ser usado para configurar uma propriedade do tipo de entidade de propriedade. Se nenhuma propriedade com o nome fornecido existir, uma nova propriedade será adicionada.

Ao adicionar uma nova propriedade, se houver uma propriedade com o mesmo nome na classe de entidade, ela será adicionada ao modelo. Se nenhuma propriedade existir na classe de entidade, uma nova propriedade de estado de sombra será adicionada. Uma propriedade de estado de sombra é aquela que não tem uma propriedade correspondente na classe de entidade. O valor atual da propriedade é armazenado no ChangeTracker em vez de ser armazenado em instâncias da classe de entidade.

UsePropertyAccessMode(PropertyAccessMode)

Define o PropertyAccessMode a ser usado para todas as propriedades desse tipo de entidade.

Por padrão, o campo de suporte, se for encontrado por convenção ou tiver sido especificado, será usado quando novos objetos forem construídos, normalmente quando entidades são consultadas do banco de dados. As propriedades são usadas para todos os outros acessos. Chamar esse método alterará esse comportamento para todas as propriedades desse tipo de entidade, conforme descrito na PropertyAccessMode enumeração .

Chamar esse método substitui todas as propriedades dessa entidade, digite qualquer modo de acesso que tenha sido definido no modelo.

Implantações explícitas de interface

IInfrastructure<IMutableModel>.Instance

O modelo ao qual essa relação pertence.

(Herdado de ReferenceReferenceBuilderBase)
IInfrastructure<InternalEntityTypeBuilder>.Instance

Obtém o construtor interno que está sendo usado para configurar o tipo de entidade de propriedade.

IInfrastructure<InternalRelationshipBuilder>.Instance

Obtém o construtor interno que está sendo usado para configurar essa relação.

(Herdado de ReferenceReferenceBuilderBase)

Métodos de Extensão

GetInfrastructure<T>(IInfrastructure<T>)

Obtém o valor de uma propriedade que está sendo ocultada usando IInfrastructure<T>.

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.

HasConstraintName(ReferenceOwnershipBuilder, String)

Configura o nome da restrição de chave estrangeira para essa relação ao direcionar um banco de dados relacional.

ToTable(ReferenceOwnershipBuilder, String)

Configura a exibição ou tabela para a qual a entidade mapeia ao direcionar um banco de dados relacional.

ToTable(ReferenceOwnershipBuilder, String, String)

Configura a exibição ou tabela para a qual a entidade mapeia ao direcionar um banco de dados relacional.

ForSqlServerIsMemoryOptimized(ReferenceOwnershipBuilder, Boolean)

Configura a tabela para a qual a entidade é mapeada ao direcionar SQL Server como otimizada para memória.

Aplica-se a