ReferenceOwnershipBuilder Classe

Definição

Fornece uma API simples para configurar uma propriedade de 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)

Esta API dá suporte à infraestrutura de 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)

Esta API dá suporte à infraestrutura de 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)

Esta API dá suporte à infraestrutura de 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)

Esta API dá suporte à infraestrutura de 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 esta 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 propriedade 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 em 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 o tipo de dados e a ordem das propriedades de chave estrangeira em relação à chave primária do tipo de entidade principal. Se eles 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 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 determinado conjunto de propriedades, 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 a chamada desse método sem parâmetros configurará explicitamente esse lado da relação para não usar nenhuma propriedade de navegação, mesmo que exista uma propriedade 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 completamente 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 a chamada desse método sem parâmetros configurará explicitamente esse lado da relação para não usar nenhuma propriedade de navegação, mesmo que exista uma propriedade 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 completamente 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 a chamada desse método sem parâmetros configurará explicitamente esse lado da relação para não usar nenhuma propriedade de navegação, mesmo que exista uma propriedade 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 completamente 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 a chamada desse método sem parâmetros configurará explicitamente esse lado da relação para não usar nenhuma propriedade de navegação, mesmo que exista uma propriedade 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 completamente 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 para as quais essa relação se destina – ou seja, no tipo de entidade do proprietário. Normalmente, você só chamaria esse método se quiser usar uma propriedade que não seja a chave primária como a (s) Propriedade (ões) principal. Se as propriedades especificadas ainda não forem uma restrição UNIQUE (ou a chave primária), uma nova restrição UNIQUE 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 é severa.

OwnsMany(String, String)

Configura uma relação na qual a entidade de destino pertence (ou parte dela) essa entidade.

O tipo de entidade de destino para cada relação de propriedade é tratado como um tipo de entidade diferente, mesmo se a navegação for 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 precisa acessá-la por meio da entidade do 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 na qual a entidade de destino pertence (ou parte dela) essa entidade.

O tipo de entidade de destino para cada relação de propriedade é tratado como um tipo de entidade diferente, mesmo se a navegação for 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 precisa acessá-la por meio da entidade do 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 na qual a entidade de destino pertence (ou parte dela) essa entidade. O valor da chave da entidade de destino é sempre propagado da entidade à qual ele pertence.

O tipo de entidade de destino para cada relação de propriedade é tratado como um tipo de entidade diferente, mesmo se a navegação for 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 precisa acessá-la por meio da entidade do proprietário usando a navegação correspondente.

OwnsOne(String, String, Action<ReferenceOwnershipBuilder>)

Configura uma relação na qual a entidade de destino pertence (ou parte dela) essa entidade. O valor da chave da entidade de destino é sempre propagado da entidade à qual ele pertence.

O tipo de entidade de destino para cada relação de propriedade é tratado como um tipo de entidade diferente, mesmo se a navegação for 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 precisa acessá-la por meio da entidade do proprietário usando a navegação correspondente.

OwnsOne(Type, String)

Configura uma relação na qual a entidade de destino pertence (ou parte dela) essa entidade. O valor da chave da entidade de destino é sempre propagado da entidade à qual ele pertence.

O tipo de entidade de destino para cada relação de propriedade é tratado como um tipo de entidade diferente, mesmo se a navegação for 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 precisa acessá-la por meio da entidade do proprietário usando a navegação correspondente.

OwnsOne(Type, String, Action<ReferenceOwnershipBuilder>)

Configura uma relação na qual a entidade de destino pertence (ou parte dela) essa entidade. O valor da chave da entidade de destino é sempre propagado da entidade à qual ele pertence.

O tipo de entidade de destino para cada relação de propriedade é tratado como um tipo de entidade diferente, mesmo se a navegação for 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 precisa acessá-la por meio da entidade do 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 não existir nenhuma propriedade com o nome fornecido, 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 não existir nenhuma propriedade com o nome fornecido, uma nova propriedade será adicionada.

Ao adicionar uma nova propriedade, se existir uma propriedade com o mesmo nome na classe de entidade, ela será adicionada ao modelo. Se não existir nenhuma propriedade 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 em 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 não existir nenhuma propriedade com o nome fornecido, uma nova propriedade será adicionada.

Ao adicionar uma nova propriedade, se existir uma propriedade com o mesmo nome na classe de entidade, ela será adicionada ao modelo. Se não existir nenhuma propriedade 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 em ChangeTracker em vez de ser armazenado em instâncias da classe de entidade.

UsePropertyAccessMode(PropertyAccessMode)

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

Por padrão, o campo de backup, se for encontrado por convenção ou tiver sido especificado, será usado quando novos objetos forem construídos, normalmente quando as 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 para 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). Em geral, ele não é usado no código do aplicativo.

IInfrastructure<T> é usado para ocultar propriedades que não se destinam a serem usadas no código do aplicativo, mas podem ser usadas em métodos de extensão gravados por provedores de banco de dados, etc.

HasConstraintName(ReferenceOwnershipBuilder, String)

Configura o nome da restrição de chave estrangeira para esse relacionamento 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 mapeia ao direcionar SQL Server como com otimização de memória.

Aplica-se a