QueryTypeBuilder Classe

Definizione

Fornisce un'API semplice per la configurazione di un tipo di query.

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.

public class QueryTypeBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.IMutableModel>, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>
type QueryTypeBuilder = class
    interface IInfrastructure<IMutableModel>
    interface IInfrastructure<InternalEntityTypeBuilder>
Public Class QueryTypeBuilder
Implements IInfrastructure(Of IMutableModel), IInfrastructure(Of InternalEntityTypeBuilder)
Ereditarietà
QueryTypeBuilder
Derivato
Implementazioni
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>

Costruttori

QueryTypeBuilder(InternalEntityTypeBuilder)

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

Tipo di query da configurare.

Metodi

HasAnnotation(String, Object)

Aggiunge o aggiorna un'annotazione nel tipo di query. Se esiste già un'annotazione con la chiave specificata in annotation , verrà aggiornato il relativo valore.

HasBaseType(String)

Imposta il tipo di base di questo tipo di query in una gerarchia di ereditarietà.

HasBaseType(Type)

Imposta il tipo di base di questo tipo di query in una gerarchia di ereditarietà.

HasOne(String, String)

Configura una relazione in cui questo tipo di query ha un riferimento che punta a una singola istanza dell'altro tipo nella relazione.

Si noti che la chiamata a questo metodo senza parametri configurerà in modo esplicito questo lato della relazione in modo che non usi alcuna proprietà di navigazione, anche se tale proprietà esiste nel tipo di entità. Se la proprietà di navigazione deve essere utilizzata, è necessario specificarla.

Dopo aver chiamato questo metodo, è necessario concatenare una chiamata a WithMany(String) o WithOne(String) per configurare completamente la relazione. La chiamata a questo metodo senza la chiamata concatenato non produrrà una relazione valida.

HasOne(Type, String)

Configura una relazione in cui questo tipo di query ha un riferimento che punta a una singola istanza dell'altro tipo nella relazione.

Dopo aver chiamato questo metodo, è necessario concatenare una chiamata a WithMany(String) o WithOne(String) per configurare completamente la relazione. La chiamata a questo metodo senza la chiamata concatenato non produrrà una relazione valida.

HasQueryFilter(LambdaExpression)

Specifica un'espressione di predicato LINQ che verrà applicata automaticamente a qualsiasi query destinata a questo tipo di query.

Ignore(String)

Esclude la proprietà specificata dal tipo di query. Questo metodo viene in genere usato per rimuovere le proprietà dal tipo di query aggiunto per convenzione.

Property(String)

Restituisce un oggetto che può essere utilizzato per configurare una proprietà del tipo di query. Se non esiste alcuna proprietà con il nome specificato, verrà aggiunta una nuova proprietà.

Quando si aggiunge una nuova proprietà con questo overload, il nome della proprietà deve corrispondere al nome di una proprietà o di un campo CLR nel tipo di query. Questo overload non può essere usato per aggiungere una nuova proprietà dello stato shadow.

Property(Type, String)

Restituisce un oggetto che può essere utilizzato per configurare una proprietà del tipo di query. Se non esiste alcuna proprietà con il nome specificato, verrà aggiunta una nuova proprietà.

Quando si aggiunge una nuova proprietà, se esiste una proprietà con lo stesso nome nella classe del tipo di query, verrà aggiunta al modello. Se nella classe del tipo di query non esiste alcuna proprietà, verrà aggiunta una nuova proprietà dello stato shadow. Una proprietà dello stato shadow è una proprietà che non ha una proprietà corrispondente nella classe del tipo di query. Il valore corrente per la proprietà viene archiviato nell'oggetto ChangeTracker anziché essere archiviato in istanze della classe del tipo di query.

Property<TProperty>(String)

Restituisce un oggetto che può essere utilizzato per configurare una proprietà del tipo di query. Se non esiste alcuna proprietà con il nome specificato, verrà aggiunta una nuova proprietà.

Quando si aggiunge una nuova proprietà, se esiste una proprietà con lo stesso nome nella classe del tipo di query, verrà aggiunta al modello. Se nella classe del tipo di query non esiste alcuna proprietà, verrà aggiunta una nuova proprietà dello stato shadow. Una proprietà dello stato shadow è una proprietà che non ha una proprietà corrispondente nella classe del tipo di query. Il valore corrente per la proprietà viene archiviato nell'oggetto ChangeTracker anziché essere archiviato in istanze della classe del tipo di query.

UsePropertyAccessMode(PropertyAccessMode)

Imposta l'oggetto PropertyAccessMode da utilizzare per tutte le proprietà di questo tipo di query.

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 modificherà tale comportamento per tutte le proprietà di questo tipo di query, come descritto nell'enumerazione PropertyAccessMode .

La chiamata a questo metodo esegue l'override per tutte le proprietà di questo tipo di query qualsiasi modalità di accesso impostata nel modello.

Implementazioni dell'interfaccia esplicita

IInfrastructure<IMutableModel>.Instance

Modello a cui appartiene il tipo di query.

IInfrastructure<InternalEntityTypeBuilder>.Instance

Ottiene il generatore interno utilizzato per configurare il tipo di query.

Metodi di estensione

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.

HasDiscriminator(QueryTypeBuilder)

Configura la colonna discriminatoria utilizzata per identificare il tipo di query rappresentato da ogni riga di una tabella quando viene eseguito il mapping di una gerarchia di ereditarietà a una singola tabella in un database relazionale.

HasDiscriminator(QueryTypeBuilder, String, Type)

Configura la colonna discriminatoria utilizzata per identificare il tipo di query rappresentato da ogni riga di una tabella quando viene eseguito il mapping di una gerarchia di ereditarietà a una singola tabella in un database relazionale.

HasDiscriminator<TDiscriminator>(QueryTypeBuilder, String)

Configura la colonna discriminatoria utilizzata per identificare il tipo di query rappresentato da ogni riga di una tabella quando viene eseguito il mapping di una gerarchia di ereditarietà a una singola tabella in un database relazionale.

ToView(QueryTypeBuilder, String)

Configura la vista o la tabella a cui viene mappata la vista quando è destinata a un database relazionale.

ToView(QueryTypeBuilder, String, String)

Configura la vista o la tabella a cui viene mappata la vista quando è destinata a un database relazionale.

Si applica a