Lingua

DbContext Classe

Definizione

Un'istanza DbContext rappresenta una sessione con il database e può essere usata per eseguire query e salvare istanze delle entità. DbContext è una combinazione dei modelli Unit Of Work e Repository.

public class DbContext : IDisposable, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>
[System.Runtime.CompilerServices.Nullable(0)]
public class DbContext : IAsyncDisposable, IDisposable, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Internal.IDbContextDependencies, Microsoft.EntityFrameworkCore.Internal.IDbContextPoolable, Microsoft.EntityFrameworkCore.Internal.IDbSetCache
public class DbContext : IDisposable, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Internal.IDbContextDependencies, Microsoft.EntityFrameworkCore.Internal.IDbContextPoolable, Microsoft.EntityFrameworkCore.Internal.IDbSetCache
public class DbContext : IDisposable, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Internal.IDbContextDependencies, Microsoft.EntityFrameworkCore.Internal.IDbContextPoolable, Microsoft.EntityFrameworkCore.Internal.IDbQueryCache, Microsoft.EntityFrameworkCore.Internal.IDbSetCache
public class DbContext : IAsyncDisposable, IDisposable, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Internal.IDbContextDependencies, Microsoft.EntityFrameworkCore.Internal.IDbContextPoolable, Microsoft.EntityFrameworkCore.Internal.IDbSetCache
type DbContext = class
    interface IDisposable
    interface IInfrastructure<IServiceProvider>
[<System.Runtime.CompilerServices.Nullable(0)>]
type DbContext = class
    interface IInfrastructure<IServiceProvider>
    interface IDbContextDependencies
    interface IDbSetCache
    interface IDbContextPoolable
    interface IResettableService
    interface IDisposable
    interface IAsyncDisposable
type DbContext = class
    interface IDisposable
    interface IInfrastructure<IServiceProvider>
    interface IDbContextDependencies
    interface IDbSetCache
    interface IDbContextPoolable
type DbContext = class
    interface IDisposable
    interface IInfrastructure<IServiceProvider>
    interface IDbContextDependencies
    interface IDbSetCache
    interface IDbQueryCache
    interface IDbContextPoolable
type DbContext = class
    interface IDisposable
    interface IAsyncDisposable
    interface IInfrastructure<IServiceProvider>
    interface IDbContextDependencies
    interface IDbSetCache
    interface IDbContextPoolable
    interface IResettableService
type DbContext = class
    interface IInfrastructure<IServiceProvider>
    interface IDbContextDependencies
    interface IDbSetCache
    interface IDbContextPoolable
    interface IResettableService
    interface IDisposable
    interface IAsyncDisposable
Public Class DbContext
Implements IDisposable, IInfrastructure(Of IServiceProvider)
Public Class DbContext
Implements IAsyncDisposable, IDbContextDependencies, IDbContextPoolable, IDbSetCache, IDisposable, IInfrastructure(Of IServiceProvider)
Public Class DbContext
Implements IDbContextDependencies, IDbContextPoolable, IDbSetCache, IDisposable, IInfrastructure(Of IServiceProvider)
Public Class DbContext
Implements IDbContextDependencies, IDbContextPoolable, IDbQueryCache, IDbSetCache, IDisposable, IInfrastructure(Of IServiceProvider)
Ereditarietà
DbContext
Attributi
Implementazioni
IInfrastructure<IServiceProvider> IDisposable IResettableService Microsoft.EntityFrameworkCore.Internal.IDbContextDependencies Microsoft.EntityFrameworkCore.Internal.IDbContextPoolable Microsoft.EntityFrameworkCore.Internal.IDbSetCache IAsyncDisposable Microsoft.EntityFrameworkCore.Internal.IDbQueryCache

Commenti

Entity Framework Core non supporta l'esecuzione di più operazioni parallele nella stessa istanza di DbContext. Ciò include sia l'esecuzione parallela di query asincrone che qualsiasi uso simultaneo esplicito da più thread. Pertanto, attendere sempre le chiamate asincrone immediatamente o usare istanze DbContext separate per le operazioni eseguite in parallelo. Per altre informazioni ed esempi, vedere Evitare problemi di threading DbContext .

In genere si crea una classe che deriva da DbContext e contiene DbSet<TEntity> le proprietà per ogni entità nel modello. Se le DbSet<TEntity> proprietà hanno un setter pubblico, vengono inizializzate automaticamente quando viene creata l'istanza del contesto derivato.

Eseguire l'override del OnConfiguring(DbContextOptionsBuilder) metodo per configurare il database (e altre opzioni) da usare per il contesto. In alternativa, se si preferisce eseguire la configurazione esternamente anziché inline nel contesto, è possibile usare (o DbContextOptionsBuilder) per creare esternamente un'istanza di DbContextOptions<TContext> (o DbContextOptions) e passarla a un costruttore di base di DbContext.DbContextOptionsBuilder<TContext>

Il modello viene individuato eseguendo un set di convenzioni sulle classi di entità trovate nelle DbSet<TEntity> proprietà nel contesto derivato. Per configurare ulteriormente il modello individuato per convenzione, è possibile eseguire l'override del OnModelCreating(ModelBuilder) metodo .

Per altre informazioni ed esempi , vedere Durata, configurazione e inizializzazione di DbContext, Esecuzione di query sui dati con EF Core, Rilevamento modifiche e Salvataggio dei dati con EF Core .

Costruttori

Nome Descrizione
DbContext()

Inizializza una nuova istanza della classe DbContext. Il OnConfiguring(DbContextOptionsBuilder) metodo verrà chiamato per configurare il database (e altre opzioni) da usare per questo contesto.

DbContext(DbContextOptions)

Inizializza una nuova istanza della DbContext classe utilizzando le opzioni specificate. Il OnConfiguring(DbContextOptionsBuilder) metodo verrà comunque chiamato per consentire un'ulteriore configurazione delle opzioni.

Proprietà

Nome Descrizione
ChangeTracker

Fornisce l'accesso alle informazioni e alle operazioni per le istanze di entità che il contesto sta monitorando.

ContextId

Identificatore univoco per l'istanza di contesto e il lease del pool, se presenti.

Database

Fornisce l'accesso alle informazioni e alle operazioni correlate al database per questo contesto.

Model

Metadati relativi alla forma delle entità, alle relazioni tra di esse e al modo in cui eseguono il mapping al database. Potrebbe non includere tutte le informazioni necessarie per inizializzare il database.

Metodi

Nome Descrizione
Add(Object)

Inizia a tenere traccia dell'entità specificata e a tutte le altre entità raggiungibili che non sono già tracciate, nello Added stato in modo che vengano inserite nel database quando SaveChanges() viene chiamato.

Add<TEntity>(TEntity)

Inizia a tenere traccia dell'entità specificata e a tutte le altre entità raggiungibili che non sono già tracciate, nello Added stato in modo che vengano inserite nel database quando SaveChanges() viene chiamato.

AddAsync(Object, CancellationToken)

Inizia a tenere traccia dell'entità specificata e a tutte le altre entità raggiungibili che non sono già tracciate, nello Added stato in modo che vengano inserite nel database quando SaveChanges() viene chiamato.

AddAsync<TEntity>(TEntity, CancellationToken)

Inizia a tenere traccia dell'entità specificata e a tutte le altre entità raggiungibili che non sono già tracciate, nello Added stato in modo che vengano inserite nel database quando SaveChanges() viene chiamato.

AddRange(IEnumerable<Object>)

Inizia a tenere traccia delle entità indicate e di tutte le altre entità raggiungibili che non sono già tracciate, nello Added stato in modo che vengano inserite nel database quando SaveChanges() viene chiamato.

AddRange(Object[])

Inizia a tenere traccia delle entità indicate e di tutte le altre entità raggiungibili che non sono già tracciate, nello Added stato in modo che vengano inserite nel database quando SaveChanges() viene chiamato.

AddRangeAsync(IEnumerable<Object>, CancellationToken)

Inizia a tenere traccia dell'entità specificata e a tutte le altre entità raggiungibili che non sono già tracciate, nello Added stato in modo che vengano inserite nel database quando SaveChanges() viene chiamato.

AddRangeAsync(Object[])

Inizia a tenere traccia dell'entità specificata e a tutte le altre entità raggiungibili che non sono già tracciate, nello Added stato in modo che vengano inserite nel database quando SaveChanges() viene chiamato.

Attach(Object)

Inizia a tenere traccia dell'entità specificata e delle voci raggiungibili dall'entità specificata usando lo Unchanged stato per impostazione predefinita, ma vedere di seguito per i casi in cui verrà usato uno stato diverso.

Attach<TEntity>(TEntity)

Inizia a tenere traccia dell'entità specificata e delle voci raggiungibili dall'entità specificata usando lo Unchanged stato per impostazione predefinita, ma vedere di seguito per i casi in cui verrà usato uno stato diverso.

AttachRange(IEnumerable<Object>)

Inizia a tenere traccia delle entità e delle voci fornite raggiungibili dalle entità indicate usando lo Unchanged stato per impostazione predefinita, ma vedere di seguito per i casi in cui verrà usato uno stato diverso.

AttachRange(Object[])

Inizia a tenere traccia delle entità e delle voci fornite raggiungibili dalle entità indicate usando lo Unchanged stato per impostazione predefinita, ma vedere di seguito per i casi in cui verrà usato uno stato diverso.

ConfigureConventions(ModelConfigurationBuilder)

Eseguire l'override di questo metodo per impostare le convenzioni predefinite e configurare le convenzioni prima dell'esecuzione. Questo metodo viene richiamato prima di OnModelCreating(ModelBuilder).

Dispose()

Rilascia le risorse allocate per questo contesto.

DisposeAsync()

Rilascia le risorse allocate per questo contesto.

Entry(Object)

Ottiene un oggetto EntityEntry per l'entità specificata. La voce fornisce l'accesso alle informazioni e alle operazioni di rilevamento delle modifiche per l'entità.

Entry<TEntity>(TEntity)

Ottiene un oggetto EntityEntry<TEntity> per l'entità specificata. La voce fornisce l'accesso alle informazioni e alle operazioni di rilevamento delle modifiche per l'entità.

Find(Type, Object[])

Trova un'entità con i valori di chiave primaria specificati. Se un'entità con i valori di chiave primaria specificati viene rilevata dal contesto, viene restituita immediatamente senza effettuare una richiesta al database. In caso contrario, viene eseguita una query al database per un'entità con i valori di chiave primaria specificati e questa entità, se presente, viene collegata al contesto e restituita. Se non viene trovata alcuna entità, viene restituito null.

Find<TEntity>(Object[])

Trova un'entità con i valori di chiave primaria specificati. Se un'entità con i valori di chiave primaria specificati viene rilevata dal contesto, viene restituita immediatamente senza effettuare una richiesta al database. In caso contrario, viene eseguita una query al database per un'entità con i valori di chiave primaria specificati e questa entità, se presente, viene collegata al contesto e restituita. Se non viene trovata alcuna entità, viene restituito null.

FindAsync(Type, Object[], CancellationToken)

Trova un'entità con i valori di chiave primaria specificati. Se un'entità con i valori di chiave primaria specificati viene rilevata dal contesto, viene restituita immediatamente senza effettuare una richiesta al database. In caso contrario, viene eseguita una query al database per un'entità con i valori di chiave primaria specificati e questa entità, se presente, viene collegata al contesto e restituita. Se non viene trovata alcuna entità, viene restituito null.

FindAsync(Type, Object[])

Trova un'entità con i valori di chiave primaria specificati. Se un'entità con i valori di chiave primaria specificati viene rilevata dal contesto, viene restituita immediatamente senza effettuare una richiesta al database. In caso contrario, viene eseguita una query al database per un'entità con i valori di chiave primaria specificati e questa entità, se presente, viene collegata al contesto e restituita. Se non viene trovata alcuna entità, viene restituito null.

FindAsync<TEntity>(Object[], CancellationToken)

Trova un'entità con i valori di chiave primaria specificati. Se un'entità con i valori di chiave primaria specificati viene rilevata dal contesto, viene restituita immediatamente senza effettuare una richiesta al database. In caso contrario, viene eseguita una query al database per un'entità con i valori di chiave primaria specificati e questa entità, se presente, viene collegata al contesto e restituita. Se non viene trovata alcuna entità, viene restituito null.

FindAsync<TEntity>(Object[])

Trova un'entità con i valori di chiave primaria specificati. Se un'entità con i valori di chiave primaria specificati viene rilevata dal contesto, viene restituita immediatamente senza effettuare una richiesta al database. In caso contrario, viene eseguita una query al database per un'entità con i valori di chiave primaria specificati e questa entità, se presente, viene collegata al contesto e restituita. Se non viene trovata alcuna entità, viene restituito null.

FromExpression<TResult>(Expression<Func<IQueryable<TResult>>>)

Crea un oggetto queryable per un'espressione di query specificata.

OnConfiguring(DbContextOptionsBuilder)

Eseguire l'override di questo metodo per configurare il database (e altre opzioni) da usare per questo contesto. Questo metodo viene chiamato per ogni istanza del contesto creato. L'implementazione di base non esegue alcuna operazione.

OnModelCreating(ModelBuilder)

Eseguire l'override di questo metodo per configurare ulteriormente il modello individuato per convenzione dai tipi di entità esposti nelle DbSet<TEntity> proprietà nel contesto derivato. Il modello risultante può essere memorizzato nella cache e riutilizzato per le istanze successive del contesto derivato.

Query<TQuery>()
Obsoleti.

Crea un oggetto DbSet<TEntity> che può essere utilizzato per eseguire query su istanze di TQuery.

Remove(Object)

Inizia a tenere traccia dell'entità specificata nello Deleted stato in modo che venga rimossa dal database quando SaveChanges() viene chiamata.

Remove<TEntity>(TEntity)

Inizia a tenere traccia dell'entità specificata nello Deleted stato in modo che venga rimossa dal database quando SaveChanges() viene chiamata.

RemoveRange(IEnumerable<Object>)

Inizia a tenere traccia dell'entità specificata nello Deleted stato in modo che venga rimossa dal database quando SaveChanges() viene chiamata.

RemoveRange(Object[])

Inizia a tenere traccia dell'entità specificata nello Deleted stato in modo che venga rimossa dal database quando SaveChanges() viene chiamata.

SaveChanges()

Salva tutte le modifiche apportate in questo contesto al database.

SaveChanges(Boolean)

Salva tutte le modifiche apportate in questo contesto al database.

SaveChangesAsync(Boolean, CancellationToken)

Salva tutte le modifiche apportate in questo contesto al database.

SaveChangesAsync(CancellationToken)

Salva tutte le modifiche apportate in questo contesto al database.

Set<TEntity>()

Crea un oggetto DbSet<TEntity> che può essere utilizzato per eseguire query e salvare istanze di TEntity.

Set<TEntity>(String)

Crea un DbSet<TEntity> oggetto per un tipo di entità di tipo condiviso che può essere usato per eseguire query e salvare istanze di TEntity.

Update(Object)

Inizia a tenere traccia dell'entità specificata e delle voci raggiungibili dall'entità specificata usando lo Modified stato per impostazione predefinita, ma vedere di seguito per i casi in cui verrà usato uno stato diverso.

Update<TEntity>(TEntity)

Inizia a tenere traccia dell'entità specificata e delle voci raggiungibili dall'entità specificata usando lo Modified stato per impostazione predefinita, ma vedere di seguito per i casi in cui verrà usato uno stato diverso.

UpdateRange(IEnumerable<Object>)

Inizia a tenere traccia delle entità e delle voci fornite raggiungibili dalle entità indicate usando lo Modified stato per impostazione predefinita, ma vedere di seguito per i casi in cui verrà usato uno stato diverso.

UpdateRange(Object[])

Inizia a tenere traccia delle entità e delle voci fornite raggiungibili dalle entità indicate usando lo Modified stato per impostazione predefinita, ma vedere di seguito per i casi in cui verrà usato uno stato diverso.

Eventi

Nome Descrizione
SaveChangesFailed

Evento generato se una chiamata a SaveChanges o SaveChangesAsync ha esito negativo con un'eccezione.

SavedChanges

Evento generato alla fine di una chiamata a SaveChanges o SaveChangesAsync

SavingChanges

Evento generato all'inizio di una chiamata a SaveChanges o SaveChangesAsync

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IDbContextDependencies.ChangeDetector

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 Entity Framework Core.

IDbContextDependencies.EntityFinderFactory

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 Entity Framework Core.

IDbContextDependencies.EntityFinderSource

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.

IDbContextDependencies.EntityGraphAttacher

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 Entity Framework Core.

IDbContextDependencies.ExceptionDetector

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 Entity Framework Core.

IDbContextDependencies.InfrastructureLogger

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 Entity Framework Core.

IDbContextDependencies.ManyToManyLoaderFactory

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 Entity Framework Core.

IDbContextDependencies.QueryProvider

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 Entity Framework Core.

IDbContextDependencies.QuerySource

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.

IDbContextDependencies.SetSource

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 Entity Framework Core.

IDbContextDependencies.StateManager

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 Entity Framework Core.

IDbContextDependencies.UpdateLogger

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 Entity Framework Core.

IDbContextPoolable.ClearLease()

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 Entity Framework Core.

IDbContextPoolable.ResetState()

Un'istanza DbContext rappresenta una sessione con il database e può essere usata per eseguire query e salvare istanze delle entità. DbContext è una combinazione dei modelli Unit Of Work e Repository.

IDbContextPoolable.Resurrect(DbContextPoolConfigurationSnapshot)

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 Entity Framework Core.

IDbContextPoolable.SetLease(DbContextLease)

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 Entity Framework Core.

IDbContextPoolable.SetLeaseAsync(DbContextLease, CancellationToken)

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 Entity Framework Core.

IDbContextPoolable.SetPool(IDbContextPool)

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 Entity Framework Core.

IDbContextPoolable.SnapshotConfiguration()

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 Entity Framework Core.

IDbQueryCache.GetOrAddQuery(IDbQuerySource, Type)

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.

IDbSetCache.GetOrAddSet(IDbSetSource, String, Type)

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 Entity Framework Core.

IDbSetCache.GetOrAddSet(IDbSetSource, Type)

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 Entity Framework Core.

IDbSetCache.GetSets()

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 Entity Framework Core.

IInfrastructure<IServiceProvider>.Instance

Ottiene l'ambito IServiceProvider utilizzato per risolvere i servizi.

Questa proprietà è destinata all'uso da parte di metodi di estensione che devono usare i servizi non esposti direttamente nella superficie api pubblica.

IResettableService.ResetState()

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 Entity Framework Core.

IResettableService.ResetStateAsync(CancellationToken)

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 Entity Framework Core.

Metodi di estensione

Nome Descrizione
CreateProxy(DbContext, Type, Object[])

Crea un'istanza proxy per un tipo di entità se la creazione del proxy è stata attivata.

CreateProxy<TEntity>(DbContext, Action<TEntity>, Object[])

Crea un'istanza proxy per un tipo di entità se la creazione del proxy è stata attivata.

CreateProxy<TEntity>(DbContext, Object[])

Crea un'istanza proxy per un tipo di entità se la creazione del proxy è stata attivata.

GetInfrastructure<T>(IInfrastructure<T>)

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

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

Si applica a