Compartir a través de


PropertyBuilder Clase

Definición

Proporciona una API sencilla para configurar un 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)
Herencia
PropertyBuilder
Derivado
Implementaciones
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalPropertyBuilder> IInfrastructure<IConventionPropertyBuilder>

Comentarios

Las instancias de esta clase se devuelven de métodos cuando se usa la ModelBuilder API y no está diseñado para construirse directamente en el código de la aplicación.

Consulte Modelado de tipos de entidad y relaciones para obtener más información y ejemplos.

Constructores

PropertyBuilder(IMutableProperty)

Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con extrema precaución y saber que hacerlo puede dar lugar a errores de aplicación al actualizar a una nueva versión de Entity Framework Core.

PropertyBuilder(InternalPropertyBuilder)

Esta API admite la infraestructura de Entity Framework Core y no está pensada para usarse directamente desde el código. Esta API puede cambiar o quitarse en versiones futuras.

Propiedades

Metadata

Propiedad que se va a configurar.

Métodos

HasAnnotation(String, Object)

Agrega o actualiza una anotación en la propiedad . Si ya existe una anotación con la clave especificada en annotation , se actualizará su valor.

HasConversion(Type)

Configura la propiedad para que el valor de la propiedad se convierta antes de escribir en la base de datos y se convierta de nuevo al leer desde la base de datos.

HasConversion(Type, Type)

Configura la propiedad para que el valor de la propiedad se convierta antes de escribir en la base de datos y se convierta de nuevo al leer desde la base de datos.

HasConversion(Type, Type, Type)

Configura la propiedad para que el valor de la propiedad se convierta antes de escribir en la base de datos y se convierta de nuevo al leer desde la base de datos.

HasConversion(Type, ValueComparer)

Configura la propiedad para que el valor de la propiedad se convierta antes de escribir en la base de datos y se convierta de nuevo al leer desde la base de datos.

HasConversion(Type, ValueComparer, ValueComparer)

Configura la propiedad para que el valor de la propiedad se convierta antes de escribir en la base de datos y se convierta de nuevo al leer desde la base de datos.

HasConversion(ValueConverter)

Configura la propiedad para que el valor de la propiedad se convierta en y desde la base de datos mediante el especificado ValueConverter.

HasConversion(ValueConverter, ValueComparer)

Configura la propiedad para que el valor de la propiedad se convierta en y desde la base de datos mediante el especificado ValueConverter.

HasConversion(ValueConverter, ValueComparer, ValueComparer)

Configura la propiedad para que el valor de la propiedad se convierta en y desde la base de datos mediante el especificado ValueConverter.

HasConversion<TConversion,TComparer,TProviderComparer>()

Configura la propiedad para que el valor de la propiedad se convierta antes de escribir en la base de datos y se convierta de nuevo al leer desde la base de datos.

HasConversion<TConversion,TComparer>()

Configura la propiedad para que el valor de la propiedad se convierta antes de escribir en la base de datos y se convierta de nuevo al leer desde la base de datos.

HasConversion<TConversion>()

Configura la propiedad para que el valor de la propiedad se convierta antes de escribir en la base de datos y se convierta de nuevo al leer desde la base de datos.

HasConversion<TConversion>(ValueComparer)

Configura la propiedad para que el valor de la propiedad se convierta antes de escribir en la base de datos y se convierta de nuevo al leer desde la base de datos.

HasConversion<TConversion>(ValueComparer, ValueComparer)

Configura la propiedad para que el valor de la propiedad se convierta antes de escribir en la base de datos y se convierta de nuevo al leer desde la base de datos.

HasField(String)

Establece el campo de respaldo que se va a usar para esta propiedad.

HasMaxLength(Int32)

Configura la longitud máxima de los datos que se pueden almacenar en esta propiedad. La longitud máxima solo se puede establecer en las propiedades de la matriz (incluidas las String propiedades).

HasPrecision(Int32)

Configura la precisión de la propiedad.

HasPrecision(Int32, Int32)

Configura la precisión y la escala de la propiedad.

HasSentinel(Object)

Configura el valor que se usará para determinar si la propiedad se ha establecido o no. Si la propiedad se establece en el valor de sentinel, se considera no establecida. De forma predeterminada, el valor centinela es el valor predeterminado clR para el tipo de la propiedad.

HasValueGenerator(Func<IProperty,IEntityType,ValueGenerator>)

Configura un generador para crear un ValueGenerator objeto que se usará para generar valores para esta propiedad.

HasValueGenerator(Func<IProperty,ITypeBase,ValueGenerator>)

Configura un generador para crear un ValueGenerator objeto que se usará para generar valores para esta propiedad.

HasValueGenerator(Type)

Configura el ValueGenerator objeto que generará valores para esta propiedad.

HasValueGenerator<TGenerator>()

Configura el ValueGenerator objeto que generará valores para esta propiedad.

HasValueGeneratorFactory(Type)

Configura para ValueGeneratorFactory crear un ValueGenerator objeto que se usará para generar valores para esta propiedad.

HasValueGeneratorFactory<TFactory>()

Configura para ValueGeneratorFactory crear un ValueGenerator objeto que se usará para generar valores para esta propiedad.

IsConcurrencyToken(Boolean)

Configura si esta propiedad se debe usar como token de simultaneidad. Cuando una propiedad se configura como token de simultaneidad, el valor de la base de datos se comprobará cuando se actualice o elimine una instancia de este tipo de entidad durante SaveChanges() para asegurarse de que no ha cambiado desde que la instancia se recuperó de la base de datos. Si ha cambiado, se producirá una excepción y los cambios no se aplicarán a la base de datos.

IsRequired(Boolean)

Configura si esta propiedad debe tener asignado un valor o null es un valor válido. Una propiedad solo se puede configurar como no necesaria si se basa en un tipo CLR al que se puede asignar null.

IsRowVersion()

Configura la propiedad como ValueGeneratedOnAddOrUpdate() y IsConcurrencyToken(Boolean).

IsUnicode(Boolean)

Configura si la propiedad es capaz de conservar caracteres Unicode. Solo se puede establecer en String propiedades.

UsePropertyAccessMode(PropertyAccessMode)

Establece el objeto PropertyAccessMode que se va a usar para esta propiedad.

De forma predeterminada, el campo de respaldo, si se encuentra uno por convención o se ha especificado, se usa cuando se construyen nuevos objetos, normalmente cuando se consultan entidades de la base de datos. Las propiedades se usan para todos los demás accesos. Al llamar a este método, cambie ese comportamiento para esta propiedad, tal y como se describe en la PropertyAccessMode enumeración .

Llamar a este método sobrerrides para esta propiedad cualquier modo de acceso establecido en el tipo de entidad o modelo.

UsePropertyAccessMode(PropertyAccessMode)

Establece el objeto PropertyAccessMode que se va a usar para esta propiedad.

ValueGeneratedNever()

Configura una propiedad para que nunca tenga un valor generado por la base de datos cuando se guarda una instancia de este tipo de entidad.

ValueGeneratedOnAdd()

Configura una propiedad para que solo se genere un valor al guardar una nueva entidad, a menos que se haya establecido un valor no null, no temporal, en cuyo caso se guardará el valor establecido. El valor se puede generar mediante un generador de valores del lado cliente o la base de datos puede generarlo como parte de guardar la entidad.

ValueGeneratedOnAddOrUpdate()

Configura una propiedad para que tenga un valor generado al guardar una entidad nueva o existente.

ValueGeneratedOnUpdate()

Configura una propiedad para que tenga un valor generado al guardar una entidad existente.

ValueGeneratedOnUpdateSometimes()

Configura una propiedad para que tenga un valor generado en determinadas condiciones al guardar una entidad existente.

Implementaciones de interfaz explícitas

IInfrastructure<IConventionPropertyBuilder>.Instance

Generador interno que se usa para configurar la propiedad .

IInfrastructure<IMutableModel>.Instance

Modelo al que pertenece la propiedad.

IInfrastructure<InternalPropertyBuilder>.Instance

Generador interno que se usa para configurar la propiedad .

Métodos de extensión

IsETagConcurrency(PropertyBuilder)

Configura esta propiedad para que sea el token de simultaneidad de etag.

ToJsonProperty(PropertyBuilder, String)

Configura el nombre de propiedad al que se asigna la propiedad al destino de Azure Cosmos.

GetInfrastructure<T>(IInfrastructure<T>)

Obtiene el valor de una propiedad que se oculta mediante IInfrastructure<T>.

Normalmente, los proveedores de bases de datos usan este método (y otras extensiones). Por lo general, no se usa en el código de aplicación.

HasColumnName(PropertyBuilder, String)

Configura la columna a la que se asigna la propiedad al establecer como destino una base de datos relacional.

HasColumnOrder(PropertyBuilder, Nullable<Int32>)

Configura el orden de la columna a la que se asigna la propiedad.

HasColumnType(PropertyBuilder, String)

Configura el tipo de datos de la columna a la que se asigna la propiedad cuando tiene como destino una base de datos relacional. Debe ser el nombre de tipo completo, incluida la precisión, la escala, la longitud, etc.

HasComment(PropertyBuilder, String)

Configura un comentario que se va a aplicar a la columna.

HasComputedColumnSql(PropertyBuilder)

Configura la propiedad para asignarla a una columna calculada al dirigirse a una base de datos relacional.

HasComputedColumnSql(PropertyBuilder, String)

Configura la propiedad para asignarla a una columna calculada al dirigirse a una base de datos relacional.

HasComputedColumnSql(PropertyBuilder, String, Nullable<Boolean>)

Configura la propiedad para asignarla a una columna calculada al dirigirse a una base de datos relacional.

HasDefaultValue(PropertyBuilder)

Configura el valor predeterminado de la columna a la que se asigna la propiedad cuando tiene como destino una base de datos relacional.

HasDefaultValue(PropertyBuilder, Object)

Configura el valor predeterminado de la columna a la que se asigna la propiedad cuando tiene como destino una base de datos relacional.

HasDefaultValueSql(PropertyBuilder)

Configura la expresión de valor predeterminada para la columna a la que se asigna la propiedad al dirigirse a una base de datos relacional.

HasDefaultValueSql(PropertyBuilder, String)

Configura la expresión de valor predeterminada para la columna a la que se asigna la propiedad al dirigirse a una base de datos relacional.

HasJsonPropertyName(PropertyBuilder, String)

Configura la propiedad de una entidad asignada a una columna JSON, asignando la propiedad de entidad a una propiedad JSON específica, en lugar de usar el nombre de la propiedad de entidad.

IsFixedLength(PropertyBuilder, Boolean)

Configura la propiedad como capaz de almacenar solo datos de longitud fija, como cadenas.

UseCollation(PropertyBuilder, String)

Configura la propiedad para usar la intercalación especificada. La columna de base de datos se creará con la intercalación especificada y se usará implícitamente en todas las operaciones que distinguen la intercalación.

ForSqliteHasDimension(PropertyBuilder, Ordinates)

Configura la dimensión de la columna a la que se asigna la propiedad al dirigirse a SQLite.

ForSqliteHasDimension(PropertyBuilder, Ordinates)
Obsoleto..

Configura la dimensión de la columna a la que se asigna la propiedad al dirigirse a SQLite.

HasGeometricDimension(PropertyBuilder, Ordinates)

Configura la dimensión de la columna a la que se asigna la propiedad al dirigirse a SQLite.

ForSqliteHasColumnName(PropertyBuilder, String)

Configura la columna a la que se asigna la propiedad al dirigirse a SQLite.

ForSqliteHasColumnType(PropertyBuilder, String)

Configura el tipo de datos de la columna a la que se asigna la propiedad al dirigirse a SQLite.

ForSqliteHasDefaultValue(PropertyBuilder, Object)

Configura el valor predeterminado de la columna a la que se asigna la propiedad al dirigirse a SQLite.

ForSqliteHasDefaultValueSql(PropertyBuilder, String)

Configura la expresión de valor predeterminada para la columna a la que se asigna la propiedad al dirigirse a SQLite.

ForSqliteHasSrid(PropertyBuilder, Int32)
Obsoleto..

Configura el SRID de la columna a la que se asigna la propiedad al dirigirse a SQLite.

HasSrid(PropertyBuilder, Int32)

Configura el SRID de la columna a la que se asigna la propiedad al dirigirse a SQLite.

ForSqlServerHasColumnName(PropertyBuilder, String)

Configura la columna a la que se asigna la propiedad al establecer como destino SQL Server.

ForSqlServerHasColumnType(PropertyBuilder, String)

Configura el tipo de datos de la columna a la que se asigna la propiedad al dirigirse a SQL Server. Debe ser el nombre de tipo completo, incluida la precisión, la escala, la longitud, etc.

ForSqlServerHasComputedColumnSql(PropertyBuilder, String)

Configura la propiedad para asignarla a una columna calculada al seleccionar como destino SQL Server.

ForSqlServerHasDefaultValue(PropertyBuilder, Object)

Configura el valor predeterminado de la columna a la que se asigna la propiedad al dirigirse a SQL Server.

ForSqlServerHasDefaultValueSql(PropertyBuilder, String)

Configura la expresión de valor predeterminada para la columna a la que se asigna la propiedad al seleccionar como destino SQL Server.

ForSqlServerUseSequenceHiLo(PropertyBuilder, String, String)
Obsoleto..

Configura la propiedad de clave para usar un patrón hi-lo basado en secuencia para generar valores para nuevas entidades, al dirigirse a SQL Server. Este método establece que la propiedad sea OnAdd.

IsSparse(PropertyBuilder, Boolean)

Configura si la columna de la propiedad se crea como dispersa al dirigirse a SQL Server.

UseHiLo(PropertyBuilder, String, String)

Configura la propiedad de clave para usar un patrón hi-lo basado en secuencia para generar valores para nuevas entidades, al establecer como destino SQL Server. Este método establece que la propiedad sea OnAdd.

UseIdentityColumn(PropertyBuilder, Int32, Int32)

Configura la propiedad de clave para usar la característica SQL Server IDENTITY para generar valores para nuevas entidades, al establecer como destino SQL Server. Este método establece que la propiedad sea OnAdd.

UseIdentityColumn(PropertyBuilder, Int64, Int32)

Configura la propiedad de clave para usar la característica SQL Server IDENTITY para generar valores para nuevas entidades, al establecer como destino SQL Server. Este método establece que la propiedad sea OnAdd.

UseSequence(PropertyBuilder, String, String)

Configura la propiedad de clave para usar un patrón de generación de valores de clave basado en secuencia para generar valores para nuevas entidades, cuando el destino es SQL Server. Este método establece que la propiedad sea OnAdd.

UseSqlServerIdentityColumn(PropertyBuilder)

Configura la propiedad de clave para usar la característica SQL Server IDENTITY para generar valores para nuevas entidades, al establecer como destino SQL Server. Este método establece que la propiedad sea OnAdd.

UseSqlServerIdentityColumn(PropertyBuilder, Int32, Int32)
Obsoleto..

Configura la propiedad de clave para usar la característica SQL Server IDENTITY para generar valores para nuevas entidades, al establecer como destino SQL Server. Este método establece que la propiedad sea OnAdd.

Se aplica a