Compartilhar via


PropertyBuilder Classe

Definição

Fornece uma API simples para configurar um IMutableProperty.

public class PropertyBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.IMutableModel>, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalPropertyBuilder>
public class PropertyBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalPropertyBuilder>
public class PropertyBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionPropertyBuilder>
type PropertyBuilder = class
    interface IInfrastructure<IMutableModel>
    interface IInfrastructure<InternalPropertyBuilder>
type PropertyBuilder = class
    interface IInfrastructure<InternalPropertyBuilder>
type PropertyBuilder = class
    interface IInfrastructure<IConventionPropertyBuilder>
Public Class PropertyBuilder
Implements IInfrastructure(Of IMutableModel), IInfrastructure(Of InternalPropertyBuilder)
Public Class PropertyBuilder
Implements IInfrastructure(Of InternalPropertyBuilder)
Public Class PropertyBuilder
Implements IInfrastructure(Of IConventionPropertyBuilder)
Herança
PropertyBuilder
Derivado
Implementações
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalPropertyBuilder> IInfrastructure<IConventionPropertyBuilder>

Comentários

As instâncias dessa classe são retornadas de métodos ao usar a ModelBuilder API e ela não foi projetada para ser construída diretamente no código do aplicativo.

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

Construtores

PropertyBuilder(IMutableProperty)

Essa é uma API interna que dá suporte à infraestrutura do Entity Framework Core e não está sujeita aos mesmos padrões de compatibilidade que as APIs públicas. Ele pode ser alterado ou removido sem aviso prévio em nenhuma versão. Você só deve usá-lo diretamente em seu código com extrema cautela e saber que isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão do Entity Framework Core.

PropertyBuilder(InternalPropertyBuilder)

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

Metadata

A propriedade que está sendo configurada.

Métodos

HasAnnotation(String, Object)

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

HasConversion(Type)

Configura a propriedade para que o valor da propriedade seja convertido antes de gravar no banco de dados e convertido novamente ao ler do banco de dados.

HasConversion(Type, Type)

Configura a propriedade para que o valor da propriedade seja convertido antes de gravar no banco de dados e convertido novamente ao ler do banco de dados.

HasConversion(Type, Type, Type)

Configura a propriedade para que o valor da propriedade seja convertido antes de gravar no banco de dados e convertido novamente ao ler do banco de dados.

HasConversion(Type, ValueComparer)

Configura a propriedade para que o valor da propriedade seja convertido antes de gravar no banco de dados e convertido novamente ao ler do banco de dados.

HasConversion(Type, ValueComparer, ValueComparer)

Configura a propriedade para que o valor da propriedade seja convertido antes de gravar no banco de dados e convertido novamente ao ler do banco de dados.

HasConversion(ValueConverter)

Configura a propriedade para que o valor da propriedade seja convertido de e para o banco de dados usando o determinado ValueConverter.

HasConversion(ValueConverter, ValueComparer)

Configura a propriedade para que o valor da propriedade seja convertido de e para o banco de dados usando o determinado ValueConverter.

HasConversion(ValueConverter, ValueComparer, ValueComparer)

Configura a propriedade para que o valor da propriedade seja convertido de e para o banco de dados usando o determinado ValueConverter.

HasConversion<TConversion,TComparer,TProviderComparer>()

Configura a propriedade para que o valor da propriedade seja convertido antes de gravar no banco de dados e convertido novamente ao ler do banco de dados.

HasConversion<TConversion,TComparer>()

Configura a propriedade para que o valor da propriedade seja convertido antes de gravar no banco de dados e convertido novamente ao ler do banco de dados.

HasConversion<TConversion>()

Configura a propriedade para que o valor da propriedade seja convertido antes de gravar no banco de dados e convertido novamente ao ler do banco de dados.

HasConversion<TConversion>(ValueComparer)

Configura a propriedade para que o valor da propriedade seja convertido antes de gravar no banco de dados e convertido novamente ao ler do banco de dados.

HasConversion<TConversion>(ValueComparer, ValueComparer)

Configura a propriedade para que o valor da propriedade seja convertido antes de gravar no banco de dados e convertido novamente ao ler do banco de dados.

HasField(String)

Define o campo de suporte a ser usado para essa propriedade.

HasMaxLength(Int32)

Configura o comprimento máximo dos dados que podem ser armazenados nessa propriedade. O comprimento máximo só pode ser definido em propriedades de matriz (incluindo String propriedades).

HasPrecision(Int32)

Configura a precisão da propriedade .

HasPrecision(Int32, Int32)

Configura a precisão e a escala da propriedade.

HasSentinel(Object)

Configura o valor que será usado para determinar se a propriedade foi definida ou não. Se a propriedade for definida como o valor sentinela, ela será considerada não definida. Por padrão, o valor sentinela é o valor padrão CLR para o tipo da propriedade .

HasValueGenerator(Func<IProperty,IEntityType,ValueGenerator>)

Configura uma fábrica para criar um ValueGenerator a ser usado para gerar valores para essa propriedade.

HasValueGenerator(Func<IProperty,ITypeBase,ValueGenerator>)

Configura uma fábrica para criar um ValueGenerator a ser usado para gerar valores para essa propriedade.

HasValueGenerator(Type)

Configura o ValueGenerator que gerará valores para essa propriedade.

HasValueGenerator<TGenerator>()

Configura o ValueGenerator que gerará valores para essa propriedade.

HasValueGeneratorFactory(Type)

Configura o ValueGeneratorFactory para criar um ValueGenerator a ser usado para gerar valores para essa propriedade.

HasValueGeneratorFactory<TFactory>()

Configura o ValueGeneratorFactory para criar um ValueGenerator a ser usado para gerar valores para essa propriedade.

IsConcurrencyToken(Boolean)

Configura se essa propriedade deve ser usada como um token de simultaneidade. Quando uma propriedade é configurada como um token de simultaneidade, o valor no banco de dados será verificado quando uma instância desse tipo de entidade for atualizada ou excluída durante SaveChanges() para garantir que ela não tenha sido alterada desde que a instância foi recuperada do banco de dados. Se ele tiver sido alterado, uma exceção será gerada e as alterações não serão aplicadas ao banco de dados.

IsRequired(Boolean)

Configura se essa propriedade deve ter um valor atribuído ou null se é um valor válido. Uma propriedade só poderá ser configurada como não obrigatória se for baseada em um tipo CLR que possa ser atribuído null.

IsRowVersion()

Configura a propriedade como ValueGeneratedOnAddOrUpdate() e IsConcurrencyToken(Boolean).

IsUnicode(Boolean)

Configura se a propriedade é capaz de persistir caracteres unicode. Só pode ser definido em String propriedades.

UsePropertyAccessMode(PropertyAccessMode)

Define o PropertyAccessMode a ser usado para essa propriedade.

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 witll altera esse comportamento para essa propriedade, conforme descrito na PropertyAccessMode enumeração .

Chamar esse método substitui para essa propriedade qualquer modo de acesso que tenha sido definido no tipo de entidade ou modelo.

UsePropertyAccessMode(PropertyAccessMode)

Define o PropertyAccessMode a ser usado para essa propriedade.

ValueGeneratedNever()

Configura uma propriedade para nunca ter um valor gerado pelo banco de dados quando uma instância desse tipo de entidade é salva.

ValueGeneratedOnAdd()

Configura uma propriedade para ter um valor gerado somente ao salvar uma nova entidade, a menos que um valor não nulo não temporário tenha sido definido, nesse caso, o valor definido será salvo. O valor pode ser gerado por um gerador de valor do lado do cliente ou pode ser gerado pelo banco de dados como parte do salvamento da entidade.

ValueGeneratedOnAddOrUpdate()

Configura uma propriedade para ter um valor gerado ao salvar uma entidade nova ou existente.

ValueGeneratedOnUpdate()

Configura uma propriedade para ter um valor gerado ao salvar uma entidade existente.

ValueGeneratedOnUpdateSometimes()

Configura uma propriedade para ter um valor gerado em determinadas condições ao salvar uma entidade existente.

Implantações explícitas de interface

IInfrastructure<IConventionPropertyBuilder>.Instance

O construtor interno que está sendo usado para configurar a propriedade.

IInfrastructure<IMutableModel>.Instance

O modelo ao qual a propriedade pertence.

IInfrastructure<InternalPropertyBuilder>.Instance

O construtor interno que está sendo usado para configurar a propriedade.

Métodos de Extensão

IsETagConcurrency(PropertyBuilder)

Configura essa propriedade para ser o token de simultaneidade de etag.

ToJsonProperty(PropertyBuilder, String)

Configura o nome da propriedade para o qual a propriedade é mapeada ao direcionar o Azure Cosmos.

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.

HasColumnName(PropertyBuilder, String)

Configura a coluna para a qual a propriedade é mapeada ao direcionar um banco de dados relacional.

HasColumnOrder(PropertyBuilder, Nullable<Int32>)

Configura a ordem da coluna para a qual a propriedade é mapeada.

HasColumnType(PropertyBuilder, String)

Configura o tipo de dados da coluna para a qual a propriedade mapeia ao direcionar um banco de dados relacional. Esse deve ser o nome de tipo completo, incluindo precisão, escala, comprimento etc.

HasComment(PropertyBuilder, String)

Configura um comentário a ser aplicado à coluna

HasComputedColumnSql(PropertyBuilder)

Configura a propriedade a ser mapeada para uma coluna computada ao direcionar um banco de dados relacional.

HasComputedColumnSql(PropertyBuilder, String)

Configura a propriedade a ser mapeada para uma coluna computada ao direcionar um banco de dados relacional.

HasComputedColumnSql(PropertyBuilder, String, Nullable<Boolean>)

Configura a propriedade a ser mapeada para uma coluna computada ao direcionar um banco de dados relacional.

HasDefaultValue(PropertyBuilder)

Configura o valor padrão para a coluna para a qual a propriedade mapeia ao direcionar um banco de dados relacional.

HasDefaultValue(PropertyBuilder, Object)

Configura o valor padrão para a coluna para a qual a propriedade mapeia ao direcionar um banco de dados relacional.

HasDefaultValueSql(PropertyBuilder)

Configura a expressão de valor padrão para a coluna para a qual a propriedade mapeia ao direcionar um banco de dados relacional.

HasDefaultValueSql(PropertyBuilder, String)

Configura a expressão de valor padrão para a coluna para a qual a propriedade mapeia ao direcionar um banco de dados relacional.

HasJsonPropertyName(PropertyBuilder, String)

Configura a propriedade de uma entidade mapeada para uma coluna JSON, mapeando a propriedade da entidade para uma propriedade JSON específica, em vez de usar o nome da propriedade da entidade.

IsFixedLength(PropertyBuilder, Boolean)

Configura a propriedade como capaz de armazenar apenas dados de comprimento fixo, como cadeias de caracteres.

UseCollation(PropertyBuilder, String)

Configura a propriedade para usar a ordenação fornecida. A coluna de banco de dados será criada com a ordenação fornecida e será usada implicitamente em todas as operações sensíveis à ordenação.

ForSqliteHasDimension(PropertyBuilder, Ordinates)

Configura a dimensão da coluna para a qual a propriedade mapeia ao direcionar o SQLite.

ForSqliteHasDimension(PropertyBuilder, Ordinates)
Obsoleto..

Configura a dimensão da coluna para a qual a propriedade mapeia ao direcionar o SQLite.

HasGeometricDimension(PropertyBuilder, Ordinates)

Configura a dimensão da coluna para a qual a propriedade mapeia ao direcionar o SQLite.

ForSqliteHasColumnName(PropertyBuilder, String)

Configura a coluna para a qual a propriedade é mapeada ao direcionar o SQLite.

ForSqliteHasColumnType(PropertyBuilder, String)

Configura o tipo de dados da coluna para a qual a propriedade é mapeada ao direcionar o SQLite.

ForSqliteHasDefaultValue(PropertyBuilder, Object)

Configura o valor padrão para a coluna para a qual a propriedade mapeia ao direcionar o SQLite.

ForSqliteHasDefaultValueSql(PropertyBuilder, String)

Configura a expressão de valor padrão para a coluna para a qual a propriedade mapeia ao direcionar SQLite.

ForSqliteHasSrid(PropertyBuilder, Int32)
Obsoleto..

Configura o SRID da coluna para a qual a propriedade mapeia ao direcionar o SQLite.

HasSrid(PropertyBuilder, Int32)

Configura o SRID da coluna para a qual a propriedade mapeia ao direcionar o SQLite.

ForSqlServerHasColumnName(PropertyBuilder, String)

Configura a coluna para a qual a propriedade mapeia ao direcionar SQL Server.

ForSqlServerHasColumnType(PropertyBuilder, String)

Configura o tipo de dados da coluna para a qual a propriedade mapeia ao direcionar SQL Server. Esse deve ser o nome de tipo completo, incluindo precisão, escala, comprimento etc.

ForSqlServerHasComputedColumnSql(PropertyBuilder, String)

Configura a propriedade a ser mapeada para uma coluna computada ao direcionar SQL Server.

ForSqlServerHasDefaultValue(PropertyBuilder, Object)

Configura o valor padrão para a coluna para a qual a propriedade mapeia ao direcionar SQL Server.

ForSqlServerHasDefaultValueSql(PropertyBuilder, String)

Configura a expressão de valor padrão para a coluna para a qual a propriedade mapeia ao direcionar SQL Server.

ForSqlServerUseSequenceHiLo(PropertyBuilder, String, String)
Obsoleto..

Configura a propriedade key para usar um padrão hi-lo baseado em sequência para gerar valores para novas entidades, ao direcionar SQL Server. Esse método define a propriedade como OnAdd.

IsSparse(PropertyBuilder, Boolean)

Configura se a coluna da propriedade é criada como esparsa ao direcionar SQL Server.

UseHiLo(PropertyBuilder, String, String)

Configura a propriedade key para usar um padrão hi-lo baseado em sequência para gerar valores para novas entidades, ao direcionar SQL Server. Esse método define a propriedade como OnAdd.

UseIdentityColumn(PropertyBuilder, Int32, Int32)

Configura a propriedade key para usar o recurso SQL Server IDENTITY para gerar valores para novas entidades, ao direcionar SQL Server. Esse método define a propriedade como OnAdd.

UseIdentityColumn(PropertyBuilder, Int64, Int32)

Configura a propriedade key para usar o recurso SQL Server IDENTITY para gerar valores para novas entidades, ao direcionar SQL Server. Esse método define a propriedade como OnAdd.

UseSequence(PropertyBuilder, String, String)

Configura a propriedade key para usar um padrão de geração de valor de chave baseado em sequência para gerar valores para novas entidades, ao direcionar SQL Server. Esse método define a propriedade como OnAdd.

UseSqlServerIdentityColumn(PropertyBuilder)

Configura a propriedade key para usar o recurso SQL Server IDENTITY para gerar valores para novas entidades, ao direcionar SQL Server. Esse método define a propriedade como OnAdd.

UseSqlServerIdentityColumn(PropertyBuilder, Int32, Int32)
Obsoleto..

Configura a propriedade key para usar o recurso SQL Server IDENTITY para gerar valores para novas entidades, ao direcionar SQL Server. Esse método define a propriedade como OnAdd.

Aplica-se a