Condividi tramite


Spazio dei nomi System.Data.Entity.Infrastructure

[Questa pagina è specifica della versione 6 di Entity Framework. La versione più recente è disponibile come pacchetto NuGet per "Entity Framework". Per ulteriori informazioni su Entity Framework, vedere la pagina msdn.com/data/ef.]

Lo spazio dei nomi System.Data.Entity.Infrastructure contiene le classi che supportano la funzionalità principale di Entity Framework.

Classi

  Classe Descrizione
Classe pubblica CommitFailedException Eccezione generata quando si verifica un errore che esegue il commit di DbTransaction.
Classe pubblica CommitFailureHandler Rappresenta un gestore delle transazioni che consente il recupero da errori di connessione non gravi durante il commit della transazione archiviando le informazioni di traccia della transazione nel database.Deve essere registrato tramite SetDefaultTransactionHandler(Func<TransactionHandler>).
Classe pubblica DbChangeTracker Restituito dal metodo ChangeTracker di DbContext per fornire l'accesso alle caratteristiche del contesto correlate all'individuazione delle modifiche delle entità.
Classe pubblica DbCollectionEntry Rappresenta una versione non generica della classe DbCollectionEntry<TEntity, TElement>.
Classe pubblica DbCollectionEntry<TEntity, TElement> Le istanze di questa classe vengono restituite dal metodo Collection di DbEntityEntry<TEntity> e consentono l'esecuzione di operazioni come il caricamento sulle proprietà di navigazione della raccolta di un'entità.
Classe pubblica DbCompiledModel Rappresentazione non modificabile di un modello Entity Data Model (EDM) che può essere utilizzato per creare un oggetto ObjectContext o passato al costruttore di DbContext.Per incrementare le prestazioni, le istanze di questo tipo devono essere memorizzate nella cache e riutilizzate per la costruzione di contesti.
Classe pubblica DbComplexPropertyEntry Versione non generica della classe DbComplexPropertyEntry<TEntity, TComplexProperty>.
Classe pubblica DbComplexPropertyEntry<TEntity, TComplexProperty> Le istanze di questa classe vengono restituite dal metodo ComplexProperty di DbEntityEntry<TEntity> e consentono l'accesso allo stato di una proprietà complessa.
Classe pubblica DbConnectionInfo Rappresenta le informazioni su una connessione di database.
Classe pubblica DbContextConfiguration Restituito dal metodo Configuration di DbContext per fornire l'accesso alle opzioni di configurazione per il contesto.
Classe pubblica DbContextInfo Vengono fornite informazioni di runtime su un tipo DbContext specificato.
Classe pubblica DbEntityEntry Versione non generica della classe DbEntityEntry<TEntity>.
Classe pubblica DbEntityEntry<TEntity> Le istanze di questa classe forniscono accesso alle informazioni sulle entità che vengono rilevate da DbContext e sul relativo controllo.Utilizzare i metodi Entity o Entities del contesto per ottenere oggetti di questo tipo.
Classe pubblica DbExecutionStrategy Fornisce l'implementazione di base del meccanismo di riesecuzione per le operazioni non affidabili e le condizioni temporanee che utilizza ritardi tra i tentativi che aumentano esponenzialmente.
Classe pubblica DbMemberEntry Si tratta di un utilizzo della classe di base astratta per rappresentare una proprietà scalare o complessa o una proprietà di navigazione di un'entità.Nelle proprietà scalari e complesse viene utilizzata la classe derivata DbPropertyEntry, nelle proprietà di navigazione di riferimento viene utilizzata la classe derivata DbReferenceEntrye nelle proprietà di navigazione della raccolta viene utilizzata la classe derivata DbCollectionEntry.
Classe pubblica DbMemberEntry<TEntity, TProperty> Si tratta di un utilizzo della classe di base astratta per rappresentare una proprietà scalare o complessa o una proprietà di navigazione di un'entità.Nelle proprietà scalari e complesse viene utilizzata la classe derivata DbPropertyEntry<TEntity, TProperty>, nelle proprietà di navigazione di riferimento viene utilizzata la classe derivata DbReferenceEntry<TEntity, TProperty>e nelle proprietà di navigazione della raccolta viene utilizzata la classe derivata DbCollectionEntry<TEntity, TElement>.
Classe pubblica DbModel Rappresenta un oggetto Entity Data Model (EDM) creato da DbModelBuilder.Il metodo Compile può essere utilizzato per passare da questa rappresentazione EDM a DbCompiledModel, ovvero uno snapshot compilato del modello adatto per la memorizzazione nella cache e la creazione di istanze di DbContext o ObjectContext.
Classe pubblica DbPropertyEntry Versione non generica della classe DbPropertyEntry<TEntity, TProperty>.
Classe pubblica DbPropertyEntry<TEntity, TProperty> Le istanze di questa classe vengono restituite dal metodo Property di DbEntityEntry<TEntity> e consentono l'accesso allo stato della proprietà scalare o complessa.
Classe pubblica DbPropertyValues Raccolta di tutte le proprietà per un'entità sottostante o un oggetto complesso.
Classe pubblica DbProviderInfo Raggruppa una coppia di stringhe tramite cui vengono identificati un provider e una versione server in un singolo oggetto.
Classe pubblica DbQuery Rappresenta una query LINQ to Entities non generica su DbContext.
Classe pubblica DbQuery<TResult> Rappresenta una query LINQ to Entities su DbContext.
Classe pubblica DbRawSqlQuery Rappresenta una query SQL per non entità create da un oggetto DbContext e viene eseguita utilizzando la connessione da tale contesto.Le istanze di questa classe vengono ottenute dall'istanza di Database.La query non viene eseguita quando viene creato questo oggetto; viene eseguita ogni volta che viene enumerata, ad esempio tramite foreach.Le query SQL per le entità vengono create utilizzando SqlQuery(String, Object[]).Per una versione generica di questa classe, vedere DbRawSqlQuery<TElement>.
Classe pubblica DbRawSqlQuery<TElement> Rappresenta una query SQL per non entità create da un oggetto DbContext e viene eseguita utilizzando la connessione da tale contesto.Le istanze di questa classe vengono ottenute dall'istanza di Database.La query non viene eseguita quando viene creato questo oggetto; viene eseguita ogni volta che viene enumerata, ad esempio tramite foreach.Le query SQL per le entità vengono create utilizzando SqlQuery(String, Object[]).Per una versione non generica di questa classe, vedere DbRawSqlQuery.
Classe pubblica DbReferenceEntry Versione non generica della classe DbReferenceEntry<TEntity, TProperty>.
Classe pubblica DbReferenceEntry<TEntity, TProperty> Le istanze di questa classe vengono restituite dal metodo Reference di DbEntityEntry<TEntity> e consentono l'esecuzione di operazioni come il caricamento sulle proprietà di navigazione di riferimento di un'entità.
Classe pubblica DbSqlQuery Rappresenta una query SQL per entità create da un DbContext e viene eseguita utilizzando la connessione da tale contesto.Le istanze di questa classe sono ottenute dall'istanza di DbSet per il tipo di entità.La query non viene eseguita quando viene creato questo oggetto; viene eseguita ogni volta che viene enumerata, ad esempio tramite foreach.Le query SQL per le non entità vengono create utilizzando SqlQuery(Type, String, Object[]).Per una versione generica di questa classe, vedere DbSqlQuery<TEntity>.
Classe pubblica DbSqlQuery<TEntity> Rappresenta una query SQL per entità create da un DbContext e viene eseguita utilizzando la connessione da tale contesto.Le istanze di questa classe sono ottenute dall'istanza di DbSet<TEntity> per il tipo di entità.La query non viene eseguita quando viene creato questo oggetto; viene eseguita ogni volta che viene enumerata, ad esempio tramite foreach.Le query SQL per le non entità vengono create utilizzando SqlQuery<TElement>(String, Object[]).Per una versione non generica di questa classe, vedere DbSqlQuery.
Classe pubblica DbUpdateConcurrencyException Eccezione generata da DbContext quando era previsto che SaveChanges per un'entità comportasse un aggiornamento del database, ma in realtà nessuna riga del database è stata interessata dall'operazione.Questo di solito indica che il database è stato aggiornato simultaneamente e che non è stata trovata una corrispondenza per un token di concorrenza di cui si prevedeva di trovarne una.Si noti che le voci di stato a cui fa riferimento questa eccezione non sono serializzate a causa della sicurezza e dell'accesso a tali voci di stato dopo la restituzione di Null da parte della serializzazione.
Classe pubblica DbUpdateException Eccezione generata dall'oggetto DbContext quando il salvataggio delle modifiche al database non viene completato.Si noti che le voci di stato a cui fa riferimento questa eccezione non sono serializzate a causa della sicurezza e dell'accesso a tali voci di stato dopo la restituzione di Null da parte della serializzazione.
Classe pubblica DefaultExecutionStrategy Rappresenta l'oggetto IDbExecutionStrategy predefinito che non ripete operazioni quando hanno esito negativo.
Classe pubblica DefaultManifestTokenResolver Rappresenta un'implementazione predefinita di IManifestTokenResolver che utilizza il provider sottostante per ottenere il token del manifesto.Si noti che per evitare più query, questa implementazione utilizza la memorizzazione nella cache in base al tipo di istanza di DbConnection, della proprietà DataSource e della proprietà Database.
Classe pubblica EdmMetadata Obsoleta. Rappresenta un'entità utilizzata per archiviare i metadati relativi a un EDM nel database.
Classe pubblica EdmxWriter Contiene i metodi utilizzati per accedere a Entity Data Model creato da Code First nel modulo EDMX.Questi metodi vengono in genere utilizzati per il debug quando esiste la necessità di analizzare il modello creato da Code First internamente.
Classe pubblica ExecutionStrategyKey Chiave utilizzata per risolvere Func<TResult>.È data dal nome invariante del provider ADO.NET e dal nome del server di database specificati nella stringa di connessione.
Classe pubblica IncludeMetadataConvention Obsoleta. Questa convenzione DbModelBuilder fa in modo che DbModelBuilder includa i metadati sul modello durante la compilazione di quest'ultimo.Quando DbContext crea un modello in base alla convenzione, la aggiunge all'elenco di quelle utilizzate da DbModelBuilder.Questo determinerà la scrittura di metadati del modello nel database se DbContext viene utilizzato per creare il database.Questo può essere utilizzato per verificare rapidamente se il modello è stato modificato dall'ultima volta che è stato utilizzato sul database.Questa convenzione può essere rimossa dalle convenzioni DbModelBuilder eseguendo l'override del metodo OnModelCreating in una classe DbContext derivata.
Classe pubblica LocalDbConnectionFactory Le istanze di questa classe vengono utilizzate per creare oggetti DbConnection per SQL Server LocalDb basati su un nome di database o su una stringa di connessione specificati.
Classe pubblica ModelContainerConvention Questa convenzione DbModelBuilder utilizza il nome della classe DbContext derivata come contenitore per il modello concettuale compilato da Code First.
Classe pubblica ModelNamespaceConvention Questa convenzione DbModelBuilder utilizza lo spazio dei nomi della classe DbContext derivata come spazio dei nomi del modello concettuale compilato da Code First.
Classe pubblica ObjectReferenceEqualityComparer Confronta gli oggetti utilizzando l'uguaglianza dei riferimenti.
Classe pubblica ReplacementDbQueryWrapper<TElement> Le istanze di questa classe vengono utilizzate internamente per creare espressioni costanti per ObjectQuery<T> da inserire nell'albero delle espressioni in sostituzione dei riferimenti a DbQuery<TResult> e DbQuery.
Classe pubblica RetryLimitExceededException Eccezione che viene generata quando l'azione ha nuovamente esito negativo dopo essere stata riprovata un numero configurato di volte.
Classe pubblica SqlCeConnectionFactory Le istanze di questa classe vengono utilizzate per creare oggetti DbConnection per SQL Server Compact Edition basati su un nome di database o su una stringa di connessione specificati.
Classe pubblica SqlConnectionFactory Le istanze di questa classe vengono utilizzate per creare oggetti DbConnection per SQL Server basati su un nome di database o su una stringa di connessione specificati.Per impostazione predefinita, la connessione viene effettuata a '.\SQLEXPRESS'.Ciò può essere modificato modificando la stringa di connessione quando si costruisce un'istanza della factory.
Classe pubblica SuppressDbSetInitializationAttribute Questo attributo può essere applicato a un'intera classe DbContext derivata, a singole proprietà DbSet<TEntity> o alle proprietà IDbSet<TEntity> di tale classe.Quando vengono applicate, eventuali proprietà DbSet<TEntity> o IDbSet<TEntity> individuate verranno comunque incluse nel modello, ma non verranno inizializzate automaticamente.
Classe pubblica TableExistenceChecker Implementato dai provider di Entity Framework e usato per verificare se le tabelle esistono o meno in un determinato database.Viene usato dagli inizializzatori di database per determinare se considerare o meno vuoto un database esistente e, se necessario, creare le tabelle.
Classe pubblica TransactionContext Questa classe viene utilizzata da CommitFailureHandler per leggere e scrivere le informazioni di traccia delle transazioni dal database.Per personalizzare la definizione della tabella delle transazioni è possibile derivare da questa classe ed eseguire l'override di OnModelCreating(DbModelBuilder).Le classi derivate possono essere registrate utilizzando DbConfiguration.
Classe pubblica TransactionHandler Rappresenta la classe di base per gli intercettori che gestiscono le operazioni di transazione.Le classi derivate possono essere registrate utilizzando SetDefaultTransactionHandler(Func<TransactionHandler>) o SetTransactionHandler(String, Func<TransactionHandler>, String).
Classe pubblica TransactionRow Rappresenta una transazione.
Classe pubblica UnintentionalCodeFirstException Generata quando un contesto viene generato dai modelli DbContext in modalità Database First o Model First e viene utilizzato in modalità Code First.

Interfacce

  Interfaccia Descrizione
Interfaccia pubblica IDbAsyncEnumerable Versione asincrona dell'interfaccia IEnumerable che consente il recupero asincrono degli elementi.Questa interfaccia viene utilizzata per interagire con le query di Entity Framework e non deve essere implementata da classi personalizzate.
Interfaccia pubblica IDbAsyncEnumerable<T> Versione asincrona dell'interfaccia IEnumerable<T> che consente agli elementi della sequenza enumerabile di essere recuperati in modo asincrono.Questa interfaccia viene utilizzata per interagire con le query di Entity Framework e non deve essere implementata da classi personalizzate.
Interfaccia pubblica IDbAsyncEnumerator Versione asincrona dell'interfaccia IEnumerator che consente il recupero asincrono degli elementi.Questa interfaccia viene utilizzata per interagire con le query di Entity Framework e non deve essere implementata da classi personalizzate.
Interfaccia pubblica IDbAsyncEnumerator<T> Versione asincrona dell'interfaccia IEnumerator<T> che consente il recupero asincrono degli elementi.Questa interfaccia viene utilizzata per interagire con le query di Entity Framework e non deve essere implementata da classi personalizzate.
Interfaccia pubblica IDbAsyncQueryProvider Definisce metodi per creare ed eseguire query in modo asincrono descritte da un oggetto IQueryable.Questa interfaccia viene utilizzata per interagire con le query di Entity Framework e non deve essere implementata da classi personalizzate.
Interfaccia pubblica IDbConnectionFactory Le implementazioni di questa interfaccia vengono utilizzate per creare oggetti DbConnection per un tipo di server di database in base a un nome di database specificato.Viene impostata un'istanza sulla classe Database per fare in modo che tutti gli oggetti DbContext vengano creati senza informazioni di connessione o solo con un nome di database o una stringa di connessione in modo che venga utilizzato per impostazione predefinita un determinato tipo di server di database.Sono disponibili due implementazioni di questa interfaccia: SqlConnectionFactory viene usata per creare connessioni a Microsoft SQL Server, incluse le edizioni EXPRESS.SqlCeConnectionFactory viene utilizzata per creare connessioni a Microsoft SQL Server Compact Editions.È possibile aggiungere altre implementazioni per altri server di database in base alle necessità.Si noti che le implementazioni devono essere thread-safe o non modificabili in quanto sono accessibili da più thread contemporaneamente.
Interfaccia pubblica IDbContextFactory<TContext> Factory per la creazione di istanze DbContext derivate.Implementare questa interfaccia per abilitare i servizi per la fase di progettazione per i tipi di contesto che non dispongono di un costruttore predefinito pubblico.In fase di progettazione, è possibile creare istanze DbContext derivate per abilitare fasi di progettazione specifiche, ad esempio rendering del modello, generazione DDL e così via.Per abilitare la creazione di istanze in fase di progettazione per i tipi DbContext che non dispongono di un costruttore predefinito pubblico, implementare questa interfaccia.I servizi in fase di progettazione individueranno automaticamente le implementazioni di questa interfaccia che si trovano nello stesso assembly del tipo DbContext derivato.
Interfaccia pubblica IDbExecutionStrategy Strategia utilizzata per eseguire un comando o una query sul database, possibilmente con la logica dei tentativi quando si verifica un errore.
Interfaccia pubblica IDbModelCacheKey Rappresenta un valore chiave tramite cui viene identificato in modo univoco un modello Entity Framework caricato in memoria.
Interfaccia pubblica IDbModelCacheKeyProvider Implementare questa interfaccia nel contesto per utilizzare la logica personalizzata per calcolare la chiave utilizzata per cercare un modello già creato nella cache.Questa interfaccia consente di disporre di un singolo tipo di contesto che può essere utilizzato con modelli diversi nello stesso oggetto AppDomain o più tipi di contesto in cui viene utilizzato lo stesso modello.
Interfaccia pubblica IDbProviderFactoryResolver Servizio per ottenere l'oggetto DbProviderFactory corretto da un oggetto DbConnection specificato.
Interfaccia pubblica IManifestTokenResolver Servizio per ottenere un token del manifesto del provider data una connessione.La classe DefaultManifestTokenResolver viene utilizzata per impostazione predefinita e utilizza il provider sottostante per ottenere il token che spesso implica l'apertura della connessione.In alternativa, è possibile utilizzare un'implementazione diversa aggiungendo IDbDependencyResolver a DbConfiguration che può utilizzare qualsiasi informazione nella connessione per restituire il token.Ad esempio, se la connessione fa riferimento a un database SQL Server 2008, "2008" può essere restituito senza aprire la connessione.
Interfaccia pubblica IMetadataAnnotationSerializer Implementare questa interfaccia per consentire la serializzazione delle annotazioni personalizzate rappresentate dalle istanze di MetadataProperty da e verso EDMX XML.Di norma, un'istanza del serializzatore è impostata tramite il metodo SetMetadataAnnotationSerializer(String, Func<IMetadataAnnotationSerializer>).
Interfaccia pubblica IObjectContextAdapter Interfaccia implementata da oggetti che possono fornire un'istanza ObjectContext.La classe DbContext implementa questa interfaccia per fornire l'accesso a ObjectContext sottostante.
Interfaccia pubblica IProviderInvariantName Utilizzato da IDbDependencyResolver e DbConfiguration per risolvere un nome invariante del provider da DbProviderFactory.

Enumerazioni

  Enumerazione Descrizione
Enumerazione pubblica DbConnectionStringOrigin Descrive l'origine della stringa di connessione al database associata a un oggetto DbContext.