Condividi tramite


DbConfiguration Classe

Definizione

Una classe derivata da questa classe può essere inserita nello stesso assembly di una classe derivata da DbContext per definire la configurazione di Entity Framework per un'applicazione. La configurazione viene impostata chiamando i metodi protetti e impostando le proprietà protette di questa classe nel costruttore del tipo derivato. Il tipo da usare può essere registrato anche nel file di configurazione dell'applicazione. Per altre informazioni sulla configurazione di Entity Framework, vedere http://go.microsoft.com/fwlink/?LinkId=260883 .

public class DbConfiguration
type DbConfiguration = class
Public Class DbConfiguration
Ereditarietà
DbConfiguration

Costruttori

DbConfiguration()

Qualsiasi classe derivata da DbConfiguration deve avere un costruttore pubblico senza parametri e tale costruttore deve chiamare questo costruttore.

Proprietà

DependencyResolver

Ottiene l'oggetto IDbDependencyResolver utilizzato per risolvere le dipendenze del servizio in Entity Framework.

Metodi

AddDefaultResolver(IDbDependencyResolver)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per aggiungere un'istanza IDbDependencyResolver a Chain of Responsibility dei resolver usati per risolvere le dipendenze necessarie da Entity Framework. A differenza del metodo AddDependencyResolver, questo metodo inserisce il sistema di risoluzione nella parte inferiore della catena di responsabilità in modo che venga usato solo per risolvere una dipendenza che non può essere risolta da altri resolver.

AddDependencyResolver(IDbDependencyResolver)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per aggiungere un'istanza IDbDependencyResolver a Chain of Responsibility dei resolver usati per risolvere le dipendenze necessarie da Entity Framework.

AddInterceptor(IDbInterceptor)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per registrare un oggetto IDbInterceptor all'avvio dell'applicazione. Si noti che gli intercettori possono anche essere aggiunti e rimossi in qualsiasi momento usando DbInterception.

Equals(Object)

Una classe derivata da questa classe può essere inserita nello stesso assembly di una classe derivata da DbContext per definire la configurazione di Entity Framework per un'applicazione. La configurazione viene impostata chiamando i metodi protetti e impostando le proprietà protette di questa classe nel costruttore del tipo derivato. Il tipo da usare può essere registrato anche nel file di configurazione dell'applicazione. Per altre informazioni sulla configurazione di Entity Framework, vedere http://go.microsoft.com/fwlink/?LinkId=260883 .

GetHashCode()

Una classe derivata da questa classe può essere inserita nello stesso assembly di una classe derivata da DbContext per definire la configurazione di Entity Framework per un'applicazione. La configurazione viene impostata chiamando i metodi protetti e impostando le proprietà protette di questa classe nel costruttore del tipo derivato. Il tipo da usare può essere registrato anche nel file di configurazione dell'applicazione. Per altre informazioni sulla configurazione di Entity Framework, vedere http://go.microsoft.com/fwlink/?LinkId=260883 .

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

LoadConfiguration(Assembly)

Tenta di individuare e caricare l'oggetto DbConfiguration dall'assembly specificato. Questo metodo deve essere usato dagli strumenti per garantire che la configurazione corretta venga caricata nel dominio dell'app. Gli strumenti devono usare questo metodo prima di accedere alla DependencyResolver proprietà . Se gli strumenti conoscono il DbContext tipo usato, il LoadConfiguration(Type) metodo deve essere usato perché offre una maggiore probabilità che venga trovata la configurazione corretta.

LoadConfiguration(Type)

Tenta di individuare e caricare l'oggetto DbConfiguration associato al tipo specificato DbContext . Questo metodo deve essere usato dagli strumenti per garantire che la configurazione corretta venga caricata nel dominio dell'app. Gli strumenti devono usare questo metodo prima di accedere alla DependencyResolver proprietà .

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

SetConfiguration(DbConfiguration)

Istanza Singleton di DbConfiguration per questo dominio dell'app. Questa impostazione può essere impostata all'avvio dell'applicazione prima che siano state usate le funzionalità di Entity Framework e successivamente deve essere considerata di sola lettura.

SetContextFactory(Type, Func<DbContext>)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per impostare una factory per consentire DbContextInfo di creare istanze di un contesto che non dispone di un costruttore pubblico senza parametri.

SetContextFactory<TContext>(Func<TContext>)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per impostare una factory per consentire DbContextInfo di creare istanze di un contesto che non dispone di un costruttore pubblico senza parametri.

SetDatabaseInitializer<TContext>(IDatabaseInitializer<TContext>)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per impostare l'inizializzatore di database da usare per il tipo di contesto specificato. L'inizializzatore di database viene chiamato quando viene usato un tipo specificato DbContext per accedere a un database per la prima volta. La strategia predefinita per i contesti Code First è un'istanza di CreateDatabaseIfNotExists<TContext>.

SetDatabaseLogFormatter(Func<DbContext,Action<String>,DatabaseLogFormatter>)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per impostare una factory per il tipo di DatabaseLogFormatter da usare con Log.

SetDefaultConnectionFactory(IDbConnectionFactory)

Imposta l'oggetto IDbConnectionFactory utilizzato per creare connessioni per convenzione se nessun'altra stringa di connessione o connessione viene assegnata a o può essere individuata da DbContext. Si noti che una factory di connessione predefinita viene impostata nel file app.config o web.config ogni volta che viene installato il pacchetto NuGet EntityFramework. Come per tutte le impostazioni del file di configurazione, la factory di connessione predefinita impostata nel file di configurazione avrà la precedenza su qualsiasi impostazione eseguita con questo metodo. Pertanto, l'impostazione deve essere rimossa dal file di configurazione prima di chiamare questo metodo avrà alcun effetto. Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per modificare la factory di connessione predefinita in uso.

SetDefaultHistoryContext(Func<DbConnection,String,HistoryContext>)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per impostare un Func<T1,T2,TResult> delegato utilizzato per la creazione dell'oggetto predefinito HistoryContext per un oggetto qualsiasi DbMigrationsConfiguration. Questa factory predefinita verrà usata solo se nessuna factory è impostata in modo esplicito in DbMigrationsConfiguration e se non è stata registrata alcuna factory per il provider in uso usando il SetHistoryContext(String, Func<DbConnection,String,HistoryContext>) metodo .

SetDefaultSpatialServices(DbSpatialServices)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per impostare l'istanza globale di DbSpatialServices che verrà usata ogni volta che è necessario un provider spaziale e non è possibile trovare un provider spaziale specifico del provider. In genere, un provider spaziale specifico del provider viene ottenuto da un'implementazione DbProviderServices che a sua volta viene restituita risolvendo un servizio per DbSpatialServices passare il nome invariante del provider come chiave. Tuttavia, ciò non può funzionare per le istanze autonome di DbGeometry e DbGeography poiché non è possibile conoscere il provider spaziale da usare. Pertanto, quando si creano istanze autonome di DbGeometry e DbGeography viene sempre usato il provider spaziale globale.

SetDefaultTransactionHandler(Func<TransactionHandler>)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per registrare un oggetto TransactionHandler.

SetExecutionStrategy(String, Func<IDbExecutionStrategy>)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per registrare un IDbExecutionStrategy oggetto da utilizzare con il provider rappresentato dal nome invariante specificato.

SetExecutionStrategy(String, Func<IDbExecutionStrategy>, String)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per registrare un IDbExecutionStrategy oggetto da utilizzare con il provider rappresentato dal nome invariante specificato e per un determinato nome del server.

SetHistoryContext(String, Func<DbConnection,String,HistoryContext>)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per impostare un Func<T1,T2,TResult> delegato che consente la creazione di un oggetto HistoryContext personalizzato per il provider specificato per qualsiasi DbMigrationsConfiguration oggetto che non dispone di un set di factory esplicito.

SetManifestTokenResolver(IManifestTokenResolver)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per impostare un'implementazione di che consente di ottenere i token del manifesto del IManifestTokenResolver provider dalle connessioni senza aprire necessariamente la connessione.

SetMetadataAnnotationSerializer(String, Func<IMetadataAnnotationSerializer>)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per impostare una factory per le implementazioni di IMetadataAnnotationSerializer che consente di serializzare le annotazioni personalizzate rappresentate dalle MetadataProperty istanze in e dal codice XML EDMX.

SetMigrationSqlGenerator(String, Func<MigrationSqlGenerator>)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per registrare un MigrationSqlGenerator oggetto da utilizzare con il provider rappresentato dal nome invariante specificato.

SetModelCacheKey(Func<DbContext,IDbModelCacheKey>)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per impostare un Func<T,TResult> oggetto come factory della chiave della cache del modello che consente alla chiave usata di memorizzare nella cache il modello dietro un DbContext oggetto da modificare.

SetModelStore(DbModelStore)

Imposta un'implementazione dell'archivio modelli singleton (cache del modello persistente).

SetPluralizationService(IPluralizationService)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per impostare il servizio di pluralizzazione.

SetProviderFactory(String, DbProviderFactory)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per registrare un provider di ADO.NET.

SetProviderFactoryResolver(IDbProviderFactoryResolver)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per impostare un'implementazione di IDbProviderFactoryResolver che consente di ottenere un oggetto DbProviderFactory da un DbConnection nei casi in cui l'implementazione predefinita non è sufficiente.

SetProviderServices(String, DbProviderServices)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per registrare un provider Entity Framework.

SetSpatialServices(DbProviderInfo, DbSpatialServices)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per impostare un'implementazione di DbSpatialServices da usare per un provider specifico e un token manifesto del provider.

SetSpatialServices(String, DbSpatialServices)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per impostare un'implementazione di DbSpatialServices da usare per un provider specifico con qualsiasi token manifesto.

SetTableExistenceChecker(String, TableExistenceChecker)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per registrare un controllo dell'esistenza di una tabella di database per un determinato provider.

SetTransactionHandler(String, Func<TransactionHandler>)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per registrare un TransactionHandler oggetto da utilizzare con il provider rappresentato dal nome invariante specificato.

SetTransactionHandler(String, Func<TransactionHandler>, String)

Chiamare questo metodo dal costruttore di una classe derivata da DbConfiguration per registrare un TransactionHandler oggetto da utilizzare con il provider rappresentato dal nome invariante specificato e per un determinato nome del server.

ToString()

Una classe derivata da questa classe può essere inserita nello stesso assembly di una classe derivata da DbContext per definire la configurazione di Entity Framework per un'applicazione. La configurazione viene impostata chiamando i metodi protetti e impostando le proprietà protette di questa classe nel costruttore del tipo derivato. Il tipo da usare può essere registrato anche nel file di configurazione dell'applicazione. Per altre informazioni sulla configurazione di Entity Framework, vedere http://go.microsoft.com/fwlink/?LinkId=260883 .

Eventi

Loaded

Si verifica durante l'inizializzazione di Entity Framework dopo la costruzione di DbConfiguration, ma subito prima che sia bloccato per l'uso. Usare questo evento per controllare e/o eseguire l'override dei servizi registrati prima del blocco della configurazione. Si noti che questo evento deve essere usato con attenzione perché potrebbe impedire agli strumenti di individuare la stessa configurazione usata in fase di esecuzione.

Si applica a