Partager via


PropertyBuilder Classe

Définition

Fournit une API simple pour la configuration d’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)
Héritage
PropertyBuilder
Dérivé
Implémente
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalPropertyBuilder> IInfrastructure<IConventionPropertyBuilder>

Remarques

Les instances de cette classe sont retournées à partir de méthodes lors de l’utilisation de l’API ModelBuilder et elle n’est pas conçue pour être construite directement dans le code de votre application.

Pour plus d’informations et d’exemples, consultez Modélisation des types d’entités et des relations .

Constructeurs

PropertyBuilder(IMutableProperty)

Il s’agit d’une API interne qui prend en charge l’infrastructure Entity Framework Core et qui n’est pas soumise aux mêmes normes de compatibilité que les API publiques. Il peut être modifié ou supprimé sans préavis dans n’importe quelle version. Vous devez uniquement l’utiliser directement dans votre code avec une extrême prudence et sachant que cela peut entraîner des échecs d’application lors de la mise à jour vers une nouvelle version d’Entity Framework Core.

PropertyBuilder(InternalPropertyBuilder)

Cette API prend en charge l’infrastructure Entity Framework Core et n’est pas destinée à être utilisée directement à partir de votre code. Cette API pourra être changée ou supprimée dans les versions ultérieures.

Propriétés

Metadata

Propriété en cours de configuration.

Méthodes

HasAnnotation(String, Object)

Ajoute ou met à jour une annotation sur la propriété . Si une annotation avec la clé spécifiée dans annotation existe déjà, sa valeur est mise à jour.

HasConversion(Type)

Configure la propriété de sorte que la valeur de la propriété soit convertie avant l’écriture dans la base de données et convertie lors de la lecture à partir de la base de données.

HasConversion(Type, Type)

Configure la propriété de sorte que la valeur de la propriété soit convertie avant l’écriture dans la base de données et convertie lors de la lecture à partir de la base de données.

HasConversion(Type, Type, Type)

Configure la propriété de sorte que la valeur de la propriété soit convertie avant l’écriture dans la base de données et convertie lors de la lecture à partir de la base de données.

HasConversion(Type, ValueComparer)

Configure la propriété de sorte que la valeur de la propriété soit convertie avant l’écriture dans la base de données et convertie lors de la lecture à partir de la base de données.

HasConversion(Type, ValueComparer, ValueComparer)

Configure la propriété de sorte que la valeur de la propriété soit convertie avant l’écriture dans la base de données et convertie lors de la lecture à partir de la base de données.

HasConversion(ValueConverter)

Configure la propriété afin que la valeur de la propriété soit convertie vers et à partir de la base de données à l’aide du donné ValueConverter.

HasConversion(ValueConverter, ValueComparer)

Configure la propriété afin que la valeur de la propriété soit convertie vers et à partir de la base de données à l’aide du donné ValueConverter.

HasConversion(ValueConverter, ValueComparer, ValueComparer)

Configure la propriété afin que la valeur de la propriété soit convertie vers et à partir de la base de données à l’aide du donné ValueConverter.

HasConversion<TConversion,TComparer,TProviderComparer>()

Configure la propriété de sorte que la valeur de la propriété soit convertie avant l’écriture dans la base de données et convertie lors de la lecture à partir de la base de données.

HasConversion<TConversion,TComparer>()

Configure la propriété de sorte que la valeur de la propriété soit convertie avant l’écriture dans la base de données et convertie lors de la lecture à partir de la base de données.

HasConversion<TConversion>()

Configure la propriété de sorte que la valeur de la propriété soit convertie avant l’écriture dans la base de données et convertie lors de la lecture à partir de la base de données.

HasConversion<TConversion>(ValueComparer)

Configure la propriété de sorte que la valeur de la propriété soit convertie avant l’écriture dans la base de données et convertie lors de la lecture à partir de la base de données.

HasConversion<TConversion>(ValueComparer, ValueComparer)

Configure la propriété de sorte que la valeur de la propriété soit convertie avant l’écriture dans la base de données et convertie lors de la lecture à partir de la base de données.

HasField(String)

Définit le champ de stockage à utiliser pour cette propriété.

HasMaxLength(Int32)

Configure la longueur maximale des données pouvant être stockées dans cette propriété. La longueur maximale ne peut être définie que sur les propriétés du tableau (y compris les String propriétés).

HasPrecision(Int32)

Configure la précision de la propriété.

HasPrecision(Int32, Int32)

Configure la précision et l'échelle de la propriété.

HasSentinel(Object)

Configure la valeur qui sera utilisée pour déterminer si la propriété a été définie ou non. Si la propriété est définie sur la valeur sentinelle, elle est considérée comme non définie. Par défaut, la valeur sentinelle est la valeur par défaut CLR pour le type de la propriété.

HasValueGenerator(Func<IProperty,IEntityType,ValueGenerator>)

Configure une fabrique pour la création d’un ValueGenerator à utiliser pour générer des valeurs pour cette propriété.

HasValueGenerator(Func<IProperty,ITypeBase,ValueGenerator>)

Configure une fabrique pour la création d’un ValueGenerator à utiliser pour générer des valeurs pour cette propriété.

HasValueGenerator(Type)

Configure le ValueGenerator qui générera des valeurs pour cette propriété.

HasValueGenerator<TGenerator>()

Configure le ValueGenerator qui générera des valeurs pour cette propriété.

HasValueGeneratorFactory(Type)

Configure le ValueGeneratorFactory pour la création d’un ValueGenerator à utiliser pour générer des valeurs pour cette propriété.

HasValueGeneratorFactory<TFactory>()

Configure le ValueGeneratorFactory pour la création d’un ValueGenerator à utiliser pour générer des valeurs pour cette propriété.

IsConcurrencyToken(Boolean)

Configure si cette propriété doit être utilisée comme jeton d’accès concurrentiel. Lorsqu’une propriété est configurée en tant que jeton d’accès concurrentiel, la valeur de la base de données est vérifiée lorsqu’une instance de ce type d’entité est mise à jour ou supprimée pendant SaveChanges() pour s’assurer qu’elle n’a pas changé depuis que le instance a été récupéré à partir de la base de données. Si elle a changé, une exception est levée et les modifications ne sont pas appliquées à la base de données.

IsRequired(Boolean)

Configure si cette propriété doit avoir une valeur affectée ou null s’il s’agit d’une valeur valide. Une propriété ne peut être configurée comme non obligatoire que si elle est basée sur un type CLR qui peut être affecté null.

IsRowVersion()

Configure la propriété en tant que ValueGeneratedOnAddOrUpdate() et IsConcurrencyToken(Boolean).

IsUnicode(Boolean)

Configure si la propriété est capable de conserver des caractères Unicode. Ne peut être défini que sur les String propriétés.

UsePropertyAccessMode(PropertyAccessMode)

Définit le PropertyAccessMode à utiliser pour cette propriété.

Par défaut, le champ de stockage, s’il est trouvé par convention ou a été spécifié, est utilisé lorsque de nouveaux objets sont construits, généralement lorsque des entités sont interrogées à partir de la base de données. Les propriétés sont utilisées pour tous les autres accès. L’appel de cette méthode permet de modifier ce comportement pour cette propriété, comme décrit dans l’énumération PropertyAccessMode .

L’appel de cette méthode remplace pour cette propriété tout mode d’accès qui a été défini sur le type d’entité ou le modèle.

UsePropertyAccessMode(PropertyAccessMode)

Définit le PropertyAccessMode à utiliser pour cette propriété.

ValueGeneratedNever()

Configure une propriété pour qu’elle n’ait jamais de valeur générée par la base de données lorsqu’une instance de ce type d’entité est enregistrée.

ValueGeneratedOnAdd()

Configure une propriété pour qu’une valeur soit générée uniquement lors de l’enregistrement d’une nouvelle entité, sauf si une valeur non null et non temporaire a été définie, auquel cas la valeur définie sera enregistrée à la place. La valeur peut être générée par un générateur de valeur côté client ou peut être générée par la base de données dans le cadre de l’enregistrement de l’entité.

ValueGeneratedOnAddOrUpdate()

Configure une propriété pour qu’une valeur soit générée lors de l’enregistrement d’une entité nouvelle ou existante.

ValueGeneratedOnUpdate()

Configure une propriété pour qu’une valeur soit générée lors de l’enregistrement d’une entité existante.

ValueGeneratedOnUpdateSometimes()

Configure une propriété pour qu’une valeur soit générée dans certaines conditions lors de l’enregistrement d’une entité existante.

Implémentations d’interfaces explicites

IInfrastructure<IConventionPropertyBuilder>.Instance

Générateur interne utilisé pour configurer la propriété.

IInfrastructure<IMutableModel>.Instance

Modèle auquel la propriété appartient.

IInfrastructure<InternalPropertyBuilder>.Instance

Générateur interne utilisé pour configurer la propriété.

Méthodes d’extension

IsETagConcurrency(PropertyBuilder)

Configure cette propriété pour qu’elle soit le jeton d’accès concurrentiel etag.

ToJsonProperty(PropertyBuilder, String)

Configure le nom de propriété auquel la propriété est mappée lors du ciblage d’Azure Cosmos.

GetInfrastructure<T>(IInfrastructure<T>)

Obtient la valeur d’une propriété masquée à l’aide de IInfrastructure<T>.

Cette méthode est généralement utilisée par les fournisseurs de base de données (et d’autres extensions). Il n’est généralement pas utilisé dans le code d’application.

HasColumnName(PropertyBuilder, String)

Configure la colonne à laquelle la propriété est mappée lors du ciblage d’une base de données relationnelle.

HasColumnOrder(PropertyBuilder, Nullable<Int32>)

Configure l’ordre de la colonne à laquelle la propriété est mappée.

HasColumnType(PropertyBuilder, String)

Configure le type de données de la colonne à laquelle la propriété est mappée lors du ciblage d’une base de données relationnelle. Il doit s’agir du nom de type complet, y compris la précision, l’échelle, la longueur, etc.

HasComment(PropertyBuilder, String)

Configure un commentaire à appliquer à la colonne

HasComputedColumnSql(PropertyBuilder)

Configure la propriété pour qu’elle soit mappée à une colonne calculée lors du ciblage d’une base de données relationnelle.

HasComputedColumnSql(PropertyBuilder, String)

Configure la propriété pour qu’elle soit mappée à une colonne calculée lors du ciblage d’une base de données relationnelle.

HasComputedColumnSql(PropertyBuilder, String, Nullable<Boolean>)

Configure la propriété pour qu’elle soit mappée à une colonne calculée lors du ciblage d’une base de données relationnelle.

HasDefaultValue(PropertyBuilder)

Configure la valeur par défaut pour la colonne à laquelle la propriété est mappée lors du ciblage d’une base de données relationnelle.

HasDefaultValue(PropertyBuilder, Object)

Configure la valeur par défaut pour la colonne à laquelle la propriété est mappée lors du ciblage d’une base de données relationnelle.

HasDefaultValueSql(PropertyBuilder)

Configure l’expression de valeur par défaut pour la colonne à laquelle la propriété est mappée lors du ciblage d’une base de données relationnelle.

HasDefaultValueSql(PropertyBuilder, String)

Configure l’expression de valeur par défaut pour la colonne à laquelle la propriété est mappée lors du ciblage d’une base de données relationnelle.

HasJsonPropertyName(PropertyBuilder, String)

Configure la propriété d’une entité mappée à une colonne JSON, en mappant la propriété d’entité à une propriété JSON spécifique, plutôt que d’utiliser le nom de la propriété d’entité.

IsFixedLength(PropertyBuilder, Boolean)

Configure la propriété comme capable de stocker uniquement des données de longueur fixe, telles que des chaînes.

UseCollation(PropertyBuilder, String)

Configure la propriété pour utiliser le classement donné. La colonne de base de données sera créée avec le classement donné et sera utilisée implicitement dans toutes les opérations sensibles au classement.

ForSqliteHasDimension(PropertyBuilder, Ordinates)

Configure la dimension de la colonne à laquelle la propriété est mappée lors du ciblage de SQLite.

ForSqliteHasDimension(PropertyBuilder, Ordinates)
Obsolète..

Configure la dimension de la colonne à laquelle la propriété est mappée lors du ciblage de SQLite.

HasGeometricDimension(PropertyBuilder, Ordinates)

Configure la dimension de la colonne à laquelle la propriété est mappée lors du ciblage de SQLite.

ForSqliteHasColumnName(PropertyBuilder, String)

Configure la colonne à laquelle la propriété est mappée lors du ciblage de SQLite.

ForSqliteHasColumnType(PropertyBuilder, String)

Configure le type de données de la colonne à laquelle la propriété est mappée lors du ciblage de SQLite.

ForSqliteHasDefaultValue(PropertyBuilder, Object)

Configure la valeur par défaut pour la colonne à laquelle la propriété est mappée lors du ciblage de SQLite.

ForSqliteHasDefaultValueSql(PropertyBuilder, String)

Configure l’expression de valeur par défaut pour la colonne à laquelle la propriété est mappée lors du ciblage de SQLite.

ForSqliteHasSrid(PropertyBuilder, Int32)
Obsolète..

Configure le SRID de la colonne à laquelle la propriété est mappée lors du ciblage de SQLite.

HasSrid(PropertyBuilder, Int32)

Configure le SRID de la colonne à laquelle la propriété est mappée lors du ciblage de SQLite.

ForSqlServerHasColumnName(PropertyBuilder, String)

Configure la colonne à laquelle la propriété est mappée lors du ciblage de SQL Server.

ForSqlServerHasColumnType(PropertyBuilder, String)

Configure le type de données de la colonne à laquelle la propriété est mappée lors du ciblage de SQL Server. Il doit s’agir du nom de type complet, y compris la précision, l’échelle, la longueur, etc.

ForSqlServerHasComputedColumnSql(PropertyBuilder, String)

Configure la propriété pour qu’elle soit mappée à une colonne calculée lors du ciblage de SQL Server.

ForSqlServerHasDefaultValue(PropertyBuilder, Object)

Configure la valeur par défaut pour la colonne à laquelle la propriété est mappée lors du ciblage de SQL Server.

ForSqlServerHasDefaultValueSql(PropertyBuilder, String)

Configure l’expression de valeur par défaut pour la colonne à laquelle la propriété est mappée lors du ciblage de SQL Server.

ForSqlServerUseSequenceHiLo(PropertyBuilder, String, String)
Obsolète..

Configure la propriété key pour utiliser un modèle hi-lo basé sur une séquence pour générer des valeurs pour de nouvelles entités, lors du ciblage de SQL Server. Cette méthode définit la propriété sur OnAdd.

IsSparse(PropertyBuilder, Boolean)

Configure si la colonne de la propriété est créée comme partiellement éparse lors du ciblage de SQL Server.

UseHiLo(PropertyBuilder, String, String)

Configure la propriété key pour utiliser un modèle hi-lo basé sur une séquence pour générer des valeurs pour de nouvelles entités, lors du ciblage de SQL Server. Cette méthode définit la propriété sur OnAdd.

UseIdentityColumn(PropertyBuilder, Int32, Int32)

Configure la propriété key pour utiliser la fonctionnalité SQL Server IDENTITY pour générer des valeurs pour de nouvelles entités, lors du ciblage de SQL Server. Cette méthode définit la propriété sur OnAdd.

UseIdentityColumn(PropertyBuilder, Int64, Int32)

Configure la propriété key pour utiliser la fonctionnalité SQL Server IDENTITY pour générer des valeurs pour de nouvelles entités, lors du ciblage de SQL Server. Cette méthode définit la propriété sur OnAdd.

UseSequence(PropertyBuilder, String, String)

Configure la propriété key pour utiliser un modèle de génération de valeurs de clé basée sur des séquences pour générer des valeurs pour de nouvelles entités, lors du ciblage de SQL Server. Cette méthode définit la propriété sur OnAdd.

UseSqlServerIdentityColumn(PropertyBuilder)

Configure la propriété key pour utiliser la fonctionnalité SQL Server IDENTITY pour générer des valeurs pour de nouvelles entités, lors du ciblage de SQL Server. Cette méthode définit la propriété sur OnAdd.

UseSqlServerIdentityColumn(PropertyBuilder, Int32, Int32)
Obsolète..

Configure la propriété key pour utiliser la fonctionnalité SQL Server IDENTITY pour générer des valeurs pour de nouvelles entités, lors du ciblage de SQL Server. Cette méthode définit la propriété sur OnAdd.

S’applique à