Condividi tramite


PropertyBuilder Classe

Definizione

Fornisce un'API semplice per la configurazione di un oggetto 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)
Ereditarietà
PropertyBuilder
Derivato
Implementazioni
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalPropertyBuilder> IInfrastructure<IConventionPropertyBuilder>

Commenti

Le istanze di questa classe vengono restituite dai metodi quando si usa l'API ModelBuilder e non è progettato per essere costruito direttamente nel codice dell'applicazione.

Per altre informazioni ed esempi, vedere Modellazione di tipi di entità e relazioni .

Costruttori

PropertyBuilder(IMutableProperty)

Si tratta di un'API interna che supporta l'infrastruttura Entity Framework Core e non è soggetta agli stessi standard di compatibilità delle API pubbliche. Può essere modificato o rimosso senza preavviso in alcuna versione. È consigliabile usarlo direttamente nel codice con estrema cautela e sapere che questa operazione può causare errori dell'applicazione durante l'aggiornamento a una nuova versione di Entity Framework Core.

PropertyBuilder(InternalPropertyBuilder)

Questa API supporta l'infrastruttura Entity Framework Core e non deve essere usata direttamente dal codice. Questa API può cambiare o essere rimossa nelle versioni future.

Proprietà

Metadata

Proprietà configurata.

Metodi

HasAnnotation(String, Object)

Aggiunge o aggiorna un'annotazione nella proprietà . Se esiste già un'annotazione con la chiave specificata in annotation , verrà aggiornato il relativo valore.

HasConversion(Type)

Configura la proprietà in modo che il valore della proprietà venga convertito prima di scrivere nel database e riconvertito durante la lettura dal database.

HasConversion(Type, Type)

Configura la proprietà in modo che il valore della proprietà venga convertito prima di scrivere nel database e riconvertito durante la lettura dal database.

HasConversion(Type, Type, Type)

Configura la proprietà in modo che il valore della proprietà venga convertito prima di scrivere nel database e riconvertito durante la lettura dal database.

HasConversion(Type, ValueComparer)

Configura la proprietà in modo che il valore della proprietà venga convertito prima di scrivere nel database e riconvertito durante la lettura dal database.

HasConversion(Type, ValueComparer, ValueComparer)

Configura la proprietà in modo che il valore della proprietà venga convertito prima di scrivere nel database e riconvertito durante la lettura dal database.

HasConversion(ValueConverter)

Configura la proprietà in modo che il valore della proprietà venga convertito in e dal database utilizzando l'oggetto specificato ValueConverter.

HasConversion(ValueConverter, ValueComparer)

Configura la proprietà in modo che il valore della proprietà venga convertito in e dal database utilizzando l'oggetto specificato ValueConverter.

HasConversion(ValueConverter, ValueComparer, ValueComparer)

Configura la proprietà in modo che il valore della proprietà venga convertito in e dal database utilizzando l'oggetto specificato ValueConverter.

HasConversion<TConversion,TComparer,TProviderComparer>()

Configura la proprietà in modo che il valore della proprietà venga convertito prima di scrivere nel database e riconvertito durante la lettura dal database.

HasConversion<TConversion,TComparer>()

Configura la proprietà in modo che il valore della proprietà venga convertito prima di scrivere nel database e riconvertito durante la lettura dal database.

HasConversion<TConversion>()

Configura la proprietà in modo che il valore della proprietà venga convertito prima di scrivere nel database e riconvertito durante la lettura dal database.

HasConversion<TConversion>(ValueComparer)

Configura la proprietà in modo che il valore della proprietà venga convertito prima di scrivere nel database e riconvertito durante la lettura dal database.

HasConversion<TConversion>(ValueComparer, ValueComparer)

Configura la proprietà in modo che il valore della proprietà venga convertito prima di scrivere nel database e riconvertito durante la lettura dal database.

HasField(String)

Imposta il campo sottostante da utilizzare per questa proprietà.

HasMaxLength(Int32)

Configura la lunghezza massima dei dati che è possibile archiviare in questa proprietà. La lunghezza massima può essere impostata solo sulle proprietà della matrice (incluse String le proprietà).

HasPrecision(Int32)

Configura la precisione della proprietà.

HasPrecision(Int32, Int32)

Configura la precisione e la scala della proprietà.

HasSentinel(Object)

Configura il valore che verrà utilizzato per determinare se la proprietà è stata impostata o meno. Se la proprietà è impostata sul valore sentinel, viene considerata non impostata. Per impostazione predefinita, il valore sentinel è il valore predefinito CLR per il tipo della proprietà.

HasValueGenerator(Func<IProperty,IEntityType,ValueGenerator>)

Configura una factory per la creazione di un ValueGenerator oggetto da utilizzare per generare valori per questa proprietà.

HasValueGenerator(Func<IProperty,ITypeBase,ValueGenerator>)

Configura una factory per la creazione di un ValueGenerator oggetto da utilizzare per generare valori per questa proprietà.

HasValueGenerator(Type)

Configura l'oggetto ValueGenerator che genererà i valori per questa proprietà.

HasValueGenerator<TGenerator>()

Configura l'oggetto ValueGenerator che genererà i valori per questa proprietà.

HasValueGeneratorFactory(Type)

Configura per ValueGeneratorFactory la creazione di un ValueGenerator oggetto da utilizzare per generare valori per questa proprietà.

HasValueGeneratorFactory<TFactory>()

Configura per ValueGeneratorFactory la creazione di un ValueGenerator oggetto da utilizzare per generare valori per questa proprietà.

IsConcurrencyToken(Boolean)

Configura se questa proprietà deve essere usata come token di concorrenza. Quando una proprietà è configurata come token di concorrenza, il valore nel database verrà controllato quando un'istanza di questo tipo di entità viene aggiornata o eliminata durante SaveChanges() per assicurarsi che non sia stata modificata dopo che l'istanza è stata recuperata dal database. Se è stata modificata, verrà generata un'eccezione e le modifiche non verranno applicate al database.

IsRequired(Boolean)

Configura se questa proprietà deve avere un valore assegnato o null è un valore valido. Una proprietà può essere configurata come non obbligatoria solo se è basata su un tipo CLR a cui è possibile assegnare null.

IsRowVersion()

Configura la proprietà come ValueGeneratedOnAddOrUpdate() e IsConcurrencyToken(Boolean).

IsUnicode(Boolean)

Configura se la proprietà è in grado di rendere persistenti i caratteri Unicode. Può essere impostato solo sulle String proprietà.

UsePropertyAccessMode(PropertyAccessMode)

Imposta l'oggetto PropertyAccessMode da utilizzare per questa proprietà.

Per impostazione predefinita, il campo sottostante, se trovato per convenzione o specificato, viene usato quando vengono costruiti nuovi oggetti, in genere quando vengono eseguite query sulle entità dal database. Le proprietà vengono usate per tutti gli altri accessi. La chiamata a questo metodo witll modifica tale comportamento per questa proprietà come descritto nell'enumerazione PropertyAccessMode .

La chiamata a questo metodo supera la modalità di accesso impostata sul tipo di entità o sul modello.

UsePropertyAccessMode(PropertyAccessMode)

Imposta l'oggetto PropertyAccessMode da utilizzare per questa proprietà.

ValueGeneratedNever()

Configura una proprietà in modo che non abbia mai un valore generato dal database quando viene salvata un'istanza di questo tipo di entità.

ValueGeneratedOnAdd()

Configura una proprietà in modo che venga generato un valore solo quando si salva una nuova entità, a meno che non sia stato impostato un valore non null, non temporaneo, nel qual caso il valore impostato verrà salvato. Il valore può essere generato da un generatore di valori lato client o può essere generato dal database come parte del salvataggio dell'entità.

ValueGeneratedOnAddOrUpdate()

Configura una proprietà per la generazione di un valore durante il salvataggio di un'entità nuova o esistente.

ValueGeneratedOnUpdate()

Configura una proprietà per la generazione di un valore durante il salvataggio di un'entità esistente.

ValueGeneratedOnUpdateSometimes()

Configura una proprietà in modo che un valore generato in determinate condizioni durante il salvataggio di un'entità esistente.

Implementazioni dell'interfaccia esplicita

IInfrastructure<IConventionPropertyBuilder>.Instance

Generatore interno utilizzato per configurare la proprietà.

IInfrastructure<IMutableModel>.Instance

Modello a cui appartiene la proprietà.

IInfrastructure<InternalPropertyBuilder>.Instance

Generatore interno utilizzato per configurare la proprietà.

Metodi di estensione

IsETagConcurrency(PropertyBuilder)

Configura questa proprietà come token di concorrenza etag.

ToJsonProperty(PropertyBuilder, String)

Configura il nome della proprietà a cui viene eseguito il mapping della proprietà quando la destinazione è Azure Cosmos.

GetInfrastructure<T>(IInfrastructure<T>)

Ottiene il valore da una proprietà nascosta tramite IInfrastructure<T>.

Questo metodo viene in genere usato dai provider di database (e da altre estensioni). In genere non viene usato nel codice dell'applicazione.

HasColumnName(PropertyBuilder, String)

Configura la colonna a cui viene eseguito il mapping della proprietà durante la destinazione di un database relazionale.

HasColumnOrder(PropertyBuilder, Nullable<Int32>)

Configura l'ordine della colonna a cui viene mappata la proprietà.

HasColumnType(PropertyBuilder, String)

Configura il tipo di dati della colonna a cui viene eseguito il mapping della proprietà durante la destinazione di un database relazionale. Deve trattarsi del nome completo del tipo, tra cui precisione, scala, lunghezza e così via.

HasComment(PropertyBuilder, String)

Configura un commento da applicare alla colonna

HasComputedColumnSql(PropertyBuilder)

Configura la proprietà per il mapping a una colonna calcolata quando è destinata a un database relazionale.

HasComputedColumnSql(PropertyBuilder, String)

Configura la proprietà per il mapping a una colonna calcolata quando è destinata a un database relazionale.

HasComputedColumnSql(PropertyBuilder, String, Nullable<Boolean>)

Configura la proprietà per il mapping a una colonna calcolata quando è destinata a un database relazionale.

HasDefaultValue(PropertyBuilder)

Configura il valore predefinito per la colonna a cui viene eseguito il mapping della proprietà durante la destinazione di un database relazionale.

HasDefaultValue(PropertyBuilder, Object)

Configura il valore predefinito per la colonna a cui viene eseguito il mapping della proprietà durante la destinazione di un database relazionale.

HasDefaultValueSql(PropertyBuilder)

Configura l'espressione di valore predefinita per la colonna a cui viene eseguito il mapping della proprietà durante la destinazione di un database relazionale.

HasDefaultValueSql(PropertyBuilder, String)

Configura l'espressione di valore predefinita per la colonna a cui viene eseguito il mapping della proprietà durante la destinazione di un database relazionale.

HasJsonPropertyName(PropertyBuilder, String)

Configura la proprietà di un'entità mappata a una colonna JSON, eseguendo il mapping della proprietà dell'entità a una proprietà JSON specifica anziché usando il nome della proprietà dell'entità.

IsFixedLength(PropertyBuilder, Boolean)

Configura la proprietà in grado di archiviare solo dati a lunghezza fissa, ad esempio stringhe.

UseCollation(PropertyBuilder, String)

Configura la proprietà per l'uso delle regole di confronto specificate. La colonna di database verrà creata con le regole di confronto specificate e verrà usata in modo implicito in tutte le operazioni sensibili alle regole di confronto.

ForSqliteHasDimension(PropertyBuilder, Ordinates)

Configura la dimensione della colonna a cui viene mappata la proprietà quando è destinata a SQLite.

ForSqliteHasDimension(PropertyBuilder, Ordinates)
Obsoleta..

Configura la dimensione della colonna a cui viene mappata la proprietà quando è destinata a SQLite.

HasGeometricDimension(PropertyBuilder, Ordinates)

Configura la dimensione della colonna a cui viene mappata la proprietà quando è destinata a SQLite.

ForSqliteHasColumnName(PropertyBuilder, String)

Configura la colonna a cui viene mappata la proprietà quando è destinata a SQLite.

ForSqliteHasColumnType(PropertyBuilder, String)

Configura il tipo di dati della colonna a cui viene eseguito il mapping della proprietà durante la destinazione SQLite.

ForSqliteHasDefaultValue(PropertyBuilder, Object)

Configura il valore predefinito per la colonna a cui viene eseguito il mapping della proprietà durante la destinazione SQLite.

ForSqliteHasDefaultValueSql(PropertyBuilder, String)

Configura l'espressione di valore predefinita per la colonna a cui viene eseguito il mapping della proprietà durante la destinazione SQLite.

ForSqliteHasSrid(PropertyBuilder, Int32)
Obsoleta..

Configura l'identificatore SRID della colonna a cui viene eseguito il mapping della proprietà durante la destinazione SQLite.

HasSrid(PropertyBuilder, Int32)

Configura l'identificatore SRID della colonna a cui viene eseguito il mapping della proprietà durante la destinazione SQLite.

ForSqlServerHasColumnName(PropertyBuilder, String)

Configura la colonna a cui viene eseguito il mapping della proprietà quando la destinazione è SQL Server.

ForSqlServerHasColumnType(PropertyBuilder, String)

Configura il tipo di dati della colonna a cui viene eseguito il mapping della proprietà durante la destinazione SQL Server. Deve trattarsi del nome completo del tipo, tra cui precisione, scala, lunghezza e così via.

ForSqlServerHasComputedColumnSql(PropertyBuilder, String)

Configura la proprietà per il mapping a una colonna calcolata quando la destinazione è SQL Server.

ForSqlServerHasDefaultValue(PropertyBuilder, Object)

Configura il valore predefinito per la colonna a cui viene eseguito il mapping della proprietà durante la destinazione SQL Server.

ForSqlServerHasDefaultValueSql(PropertyBuilder, String)

Configura l'espressione di valore predefinita per la colonna a cui viene eseguito il mapping della proprietà durante la destinazione SQL Server.

ForSqlServerUseSequenceHiLo(PropertyBuilder, String, String)
Obsoleta..

Configura la proprietà chiave per l'uso di un modello hi-lo basato su sequenza per generare valori per le nuove entità, quando la destinazione è SQL Server. Questo metodo imposta la proprietà su OnAdd.

IsSparse(PropertyBuilder, Boolean)

Configura se la colonna della proprietà viene creata come sparse quando la destinazione è SQL Server.

UseHiLo(PropertyBuilder, String, String)

Configura la proprietà chiave per l'uso di un modello hi-lo basato su sequenza per generare valori per le nuove entità, quando la destinazione è SQL Server. Questo metodo imposta la proprietà su OnAdd.

UseIdentityColumn(PropertyBuilder, Int32, Int32)

Configura la proprietà chiave per l'uso della funzionalità IDENTITY SQL Server per generare valori per le nuove entità, quando la destinazione è SQL Server. Questo metodo imposta la proprietà su OnAdd.

UseIdentityColumn(PropertyBuilder, Int64, Int32)

Configura la proprietà chiave per l'uso della funzionalità IDENTITY SQL Server per generare valori per le nuove entità, quando la destinazione è SQL Server. Questo metodo imposta la proprietà su OnAdd.

UseSequence(PropertyBuilder, String, String)

Configura la proprietà chiave per l'uso di un modello di generazione di valori chiave basato su sequenza per generare valori per le nuove entità, quando la destinazione è SQL Server. Questo metodo imposta la proprietà su OnAdd.

UseSqlServerIdentityColumn(PropertyBuilder)

Configura la proprietà chiave per l'uso della funzionalità IDENTITY SQL Server per generare valori per le nuove entità, quando la destinazione è SQL Server. Questo metodo imposta la proprietà su OnAdd.

UseSqlServerIdentityColumn(PropertyBuilder, Int32, Int32)
Obsoleta..

Configura la proprietà chiave per l'uso della funzionalità IDENTITY SQL Server per generare valori per le nuove entità, quando la destinazione è SQL Server. Questo metodo imposta la proprietà su OnAdd.

Si applica a