Partager via


System.Data.Entity.Infrastructure, espace de noms

[Cette page concerne Entity Framework version 6. La dernière version est disponible sous le nom de package 'Entity Framework' NuGet. Pour plus d'informations sur Entity Framework, consultez msdn.com/data/ef.]

L'espace de noms System.Data.Entity.Infrastructure contient des classes qui prennent en charge les fonctionnalités Entity Framework principales.

Classes

  Classe Description
Classe publique CommitFailedException Exception levée lorsqu'une erreur se produit lors de la validation d'un DbTransaction.
Classe publique CommitFailureHandler Représente un gestionnaire de transactions qui permet une récupération appropriée après des échecs de connexion pendant la validation de transaction en stockant des informations de suivi de transaction dans la base de données.Il doit être inscrit à l'aide de SetDefaultTransactionHandler(Func<TransactionHandler>).
Classe publique DbChangeTracker Retourné par la méthode ChangeTracker de DbContext pour fournir l'accès aux fonctionnalités du contexte mises en rapport avec le suivi des modifications d'entités.
Classe publique DbCollectionEntry Représente une version non générique de la classe DbCollectionEntry<TEntity, TElement>.
Classe publique DbCollectionEntry<TEntity, TElement> Les instances de cette classe sont retournées à partir de la méthode Collection de DbEntityEntry<TEntity> et autorisent des opérations telles que le chargement sur les propriétés de navigation de collection d'une entité.
Classe publique DbCompiledModel Représentation immuable d'un modèle Entity Data Model (EDM) qui peut être utilisé pour créer un ObjectContext ou peut être passé au constructeur d'un DbContext.Pour de meilleures performances, les instances de ce type doivent être mises en cache et réutilisées pour construire des contextes.
Classe publique DbComplexPropertyEntry Version non générique de la classe DbComplexPropertyEntry<TEntity, TComplexProperty>.
Classe publique DbComplexPropertyEntry<TEntity, TComplexProperty> Les instances de cette classe sont retournées à partir de la méthode ComplexProperty de DbEntityEntry<TEntity> et autorisent l'accès à l'état d'une propriété complexe.
Classe publique DbConnectionInfo Représente les informations relatives à une connexion de base de données.
Classe publique DbContextConfiguration Retourné par la méthode de configuration de DbContext pour fournir l'accès aux options de configuration pour le contexte.
Classe publique DbContextInfo Fournit les informations d'exécution concernant un type de DbContext spécifique.
Classe publique DbEntityEntry Version non générique de la classe DbEntityEntry<TEntity>.
Classe publique DbEntityEntry<TEntity> Les instances de cette classe donnent accès aux informations relatives aux entités suivies par le DbContext et au contrôle de celles-ci.Utilisez les méthodes Entity ou Entities du contexte pour obtenir des objets de ce type.
Classe publique DbExecutionStrategy Fournit l'implémentation de base du mécanisme de nouvelle tentative pour les opérations non fiables et les conditions temporaires avec un délai augmentant de façon exponentielle entre les tentatives consécutives.
Classe publique DbMemberEntry Classe de base abstraite utilisée pour représenter une propriété scalaire ou complexe, ou une propriété de navigation d'une entité.Les propriétés scalaires et complexes utilisent la classe dérivée DbPropertyEntry, les propriétés de navigation de référence utilisent la classe dérivée DbReferenceEntry et les propriétés de navigation de collection utilisent la classe dérivée DbCollectionEntry.
Classe publique DbMemberEntry<TEntity, TProperty> Classe de base abstraite utilisée pour représenter une propriété scalaire ou complexe, ou une propriété de navigation d'une entité.Les propriétés scalaires et complexes utilisent la classe dérivée DbPropertyEntry<TEntity, TProperty>, les propriétés de navigation de référence utilisent la classe dérivée DbReferenceEntry<TEntity, TProperty> et les propriétés de navigation de collection utilisent la classe dérivée DbCollectionEntry<TEntity, TElement>.
Classe publique DbModel Représente un Entity Data Model (EDM) créé par le DbModelBuilder.La méthode Compile peut être utilisée pour la conversion de cette représentation EDM vers un DbCompiledModel qui est un instantané compilé du modèle approprié pour la mise en cache et la création d'instances DbContext ou ObjectContext.
Classe publique DbPropertyEntry Version non générique de la classe DbPropertyEntry<TEntity, TProperty>.
Classe publique DbPropertyEntry<TEntity, TProperty> Les instances de cette classe sont retournées à partir de la méthode Property de DbEntityEntry<TEntity> et autorisent l'accès à l'état d'une propriété scalaire.
Classe publique DbPropertyValues Collection de toutes les propriétés pour une entité sous-jacente ou un objet complexe.
Classe publique DbProviderInfo Groupes de paires de chaînes qui identifient un fournisseur et une version de serveur dans un objet unique.
Classe publique DbQuery Représente une requête LINQ to Entities non générique sur un DbContext.
Classe publique DbQuery<TResult> Représente une requête LINQ to Entities sur un DbContext.
Classe publique DbRawSqlQuery Représente une requête SQL pour les non-entités créées à partir d'un DbContext qui est exécuté à l'aide de la connexion de ce contexte.Les instances de cette classe sont obtenues de l'instance Database.La requête n'est pas exécutée lorsque cet objet est créé ; elle est exécutée chaque fois qu'elle est énumérée, par exemple en utilisant l'instruction « foreach ».Les requêtes SQL pour les entités sont créées à l'aide de SqlQuery(String, Object[]).Consultez DbRawSqlQuery<TElement> pour une version générique de cette classe.
Classe publique DbRawSqlQuery<TElement> Représente une requête SQL pour les non-entités créées à partir d'un DbContext qui est exécuté à l'aide de la connexion de ce contexte.Les instances de cette classe sont obtenues de l'instance Database.La requête n'est pas exécutée lorsque cet objet est créé ; elle est exécutée chaque fois qu'elle est énumérée, par exemple en utilisant l'instruction « foreach ».Les requêtes SQL pour les entités sont créées à l'aide de SqlQuery(String, Object[]).Consultez DbRawSqlQuery pour une version non générique de cette classe.
Classe publique DbReferenceEntry Version non générique de la classe DbReferenceEntry<TEntity, TProperty>.
Classe publique DbReferenceEntry<TEntity, TProperty> Les instances de cette classe sont retournées à partir de la méthode Reference de DbEntityEntry<TEntity> et autorisent des opérations telles que le chargement sur les propriétés de navigation de référence d'une entité.
Classe publique DbSqlQuery Représente une requête SQL pour les entités créées à partir d'un DbContext qui est exécutée à l'aide de la connexion à partir ce contexte.Les instances de cette classe sont obtenues de l'instance DbSet pour le type d'entité.La requête n'est pas exécutée lorsque cet objet est créé ; elle est exécutée chaque fois qu'elle est énumérée, par exemple en utilisant l'instruction « foreach ».Les requêtes SQL pour les non-entités sont créées à l'aide de SqlQuery(Type, String, Object[]).Consultez DbSqlQuery<TEntity> pour une version générique de cette classe.
Classe publique DbSqlQuery<TEntity> Représente une requête SQL pour les entités créées à partir d'un DbContext qui est exécutée à l'aide de la connexion à partir ce contexte.Les instances de cette classe sont obtenues de l'instance DbSet<TEntity> pour le type d'entité.La requête n'est pas exécutée lorsque cet objet est créé ; elle est exécutée chaque fois qu'elle est énumérée, par exemple en utilisant l'instruction « foreach ».Les requêtes SQL pour les non-entités sont créées à l'aide de SqlQuery<TElement>(String, Object[]).Consultez DbSqlQuery pour une version non générique de cette classe.
Classe publique DbUpdateConcurrencyException Exception levée par DbContext lorsqu'il est attendu que SaveChanges pour une entité entraîne la mise à jour d'une base de données, mais en réalité, aucune ligne dans la base de données n'est affectée.Cela indique habituellement que la base de données a été mise à jour simultanément et qu'un jeton de concurrence supposé correspondre n'a pas correspondu réellement.Notez que les entrées d'état référencées par cette exception ne sont pas sérialisées pour des raisons de sécurité et l'accès aux entrées d'état après la sérialisation retourne une valeur null.
Classe publique DbUpdateException Exception levée par DbContext lorsque l'enregistrement des modifications dans la base de données échoue.Notez que les entrées d'état référencées par cette exception ne sont pas sérialisées pour des raisons de sécurité et l'accès aux entrées d'état après la sérialisation retourne une valeur null.
Classe publique DefaultExecutionStrategy Représente le IDbExecutionStrategy par défaut qui n'effectue pas de nouvelles tentatives en cas d'échec.
Classe publique DefaultManifestTokenResolver Représente une implémentation par défaut de IManifestTokenResolver qui utilise le fournisseur sous-jacent pour obtenir le jeton de manifeste.Notez que pour éviter plusieurs requêtes, cette implémentation utilise la mise en cache selon le type réel d'instance DbConnection, de la propriété DataSource et de la propriété Database.
Classe publique EdmMetadata Obsolète. Représente une entité utilisée pour stocker des métadonnées sur un EDM dans la base de données.
Classe publique EdmxWriter Contient les méthodes utilisées pour accéder à l'Entity Data Model créé par Code First dans le formulaire EDMX.Ces méthodes sont généralement utilisées pour le débogage, lorsqu'il est nécessaire de regarder le modèle que Code First créé en interne.
Classe publique ExecutionStrategyKey Clé utilisée pour résoudre Func<TResult>.Elle se compose du nom invariant de fournisseur ADO.NET et du nom du serveur de base de données spécifié dans la chaîne de connexion.
Classe publique IncludeMetadataConvention Obsolète. Cette convention DbModelBuilder fait en sorte que DbModelBuilder inclue les métadonnées sur le modèle lorsqu'il génère le modèle.Lorsque DbContext crée un modèle par convention, il ajoutera cette convention à la liste de celles utilisées par le DbModelBuilder.Cela entraînera l'écriture des métadonnées du modèle dans la base de données si le DbContext est utilisé pour créer la base de données.Cela peut ensuite être utilisé pour vérifier rapidement si le modèle a changé depuis la dernière fois qu'il a été utilisé sur la base de données.Cette convention peut être supprimée des conventions DbModelBuilder en substituant la méthode OnModelCreating sur une classe DbContext dérivée.
Classe publique LocalDbConnectionFactory Les instances de cette classe sont utilisées pour créer des objets DbConnection pour SQL Server LocalDb en fonction d'un nom de base de données spécifique ou d'une chaîne de connexion.
Classe publique ModelContainerConvention Cette convention DbModelBuilder utilise le nom de la classe DbContext dérivée en tant que conteneur pour le modèle conceptuel construit par Code First.
Classe publique ModelNamespaceConvention Cette convention DbModelBuilder utilise l'espace de noms de la classe DbContext dérivée en tant qu'espace de noms du modèle conceptuel construit par Code First.
Classe publique ObjectReferenceEqualityComparer Compare des objets à l'aide de l'égalité de référence.
Classe publique ReplacementDbQueryWrapper<TElement> Les instances de cette classe sont utilisées en interne pour créer des expressions constantes pour ObjectQuery<T> qui sont insérées dans l'arborescence d'expressions pour remplacer des références à DbQuery<TResult> et DbQuery.
Classe publique RetryLimitExceededException Exception levée lorsque l'action échoue après le nombre de nouvelles tentatives configuré.
Classe publique SqlCeConnectionFactory Les instances de cette classe sont utilisées pour créer des objets DbConnection pour SQL Server Compact Edition en fonction d'un nom de base de données donné ou d'une chaîne de connexion.
Classe publique SqlConnectionFactory Les instances de cette classe sont utilisées pour créer des objets DbConnection pour SQL Server en fonction d'un nom de base de données spécifique ou d'une chaîne de connexion.Par défaut, la connexion est établie avec « .\SQLEXPRESS ».Cela peut être modifié à l'aide de la chaîne de connexion de base lors de la construction d'une instance de fabrique.
Classe publique SuppressDbSetInitializationAttribute Cet attribut peut être appliqué à une classe DbContext dérivée entière ou aux propriétés DbSet<TEntity> ou IDbSet<TEntity> individuelles sur cette classe.S'il est appliqué, toutes les propriétés DbSet<TEntity> ou IDbSet<TEntity> découvertes sont toujours incluses dans le modèle, mais ne sont pas initialisées automatiquement.
Classe publique TableExistenceChecker Implémenté par les fournisseurs Entity Framework et utilisé pour vérifier si des tables existent dans une base de données spécifique.Les initialiseurs de base de données s'en servent pour déterminer s'il faut considérer une base de données existante comme étant vide pour imposer la création de tables.
Classe publique TransactionContext Cette classe est utilisée par CommitFailureHandler pour lire et écrire des informations de suivi de transaction depuis la base de données.Pour personnaliser la définition de la table de transactions, vous pouvez dériver de cette classe et remplacer OnModelCreating(DbModelBuilder).Les classes dérivées peuvent être inscrites avec DbConfiguration.
Classe publique TransactionHandler Représente la classe de base des intercepteurs qui gèrent les opérations de transaction.Les classes dérivées peuvent être inscrites à l'aide de SetDefaultTransactionHandler(Func<TransactionHandler>) ou de SetTransactionHandler(String, Func<TransactionHandler>, String).
Classe publique TransactionRow Représente une transaction.
Classe publique UnintentionalCodeFirstException Exception levée lorsqu'un contexte est généré à partir des modèles DbContext en mode Database First ou Model First, puis utilisé en mode Code First.

Interfaces

  Interface Description
Interface publique IDbAsyncEnumerable Version asynchrone de l'interface IEnumerable qui permet l'extraction asynchrone des éléments.Cette interface est utilisée pour interagir avec des requêtes Entity Framework et ne doit pas être implémentée par des classes personnalisées.
Interface publique IDbAsyncEnumerable<T> Version asynchrone de l'interface IEnumerable<T> qui permet l'extraction asynchrone des éléments de la séquence énumérable.Cette interface est utilisée pour interagir avec des requêtes Entity Framework et ne doit pas être implémentée par des classes personnalisées.
Interface publique IDbAsyncEnumerator Version asynchrone de l'interface IEnumerator qui permet l'extraction asynchrone des éléments.Cette interface est utilisée pour interagir avec des requêtes Entity Framework et ne doit pas être implémentée par des classes personnalisées.
Interface publique IDbAsyncEnumerator<T> Version asynchrone de l'interface IEnumerator<T> qui permet l'extraction asynchrone des éléments.Cette interface est utilisée pour interagir avec des requêtes Entity Framework et ne doit pas être implémentée par des classes personnalisées.
Interface publique IDbAsyncQueryProvider Définit des méthodes destinées à créer et exécuter de façon asynchrone des requêtes décrites par un objet IQueryable.Cette interface est utilisée pour interagir avec des requêtes Entity Framework et ne doit pas être implémentée par des classes personnalisées.
Interface publique IDbConnectionFactory Les implémentations de cette interface sont utilisées pour créer des objets DbConnection pour un type de serveur de base de données selon un nom de la base de données spécifique.Une instance est définie sur la classe Database pour que tous les objets DbContext qui doivent être créés sans informations de connexion ou juste un nom de base de données ou chaîne de connexion, utilisent un certain type de serveur de base de données.Deux implémentations de cette interface sont fournies : SqlConnectionFactory utilisé pour créer des connexions à Microsoft SQL Server, y compris les éditions EXPRESS.SqlCeConnectionFactory utilisé pour créer des connexions à Microsoft SQL Server Compact Edition.D'autres implémentations pour d'autres serveurs de bases de données peuvent être ajoutées au besoin.Notez que les implémentations doivent être thread-safe ou immuables puisqu'elles sont accessibles en même temps par plusieurs threads.
Interface publique IDbContextFactory<TContext> Fabrique permettant de créer des instances dérivées de DbContext.Implémentez cette interface pour activer les services au moment de la conception des types de contexte qui n'ont pas de constructeur public par défaut.Au moment de la conception, des instances DbContext dérivées peuvent être créées pour activer des expériences de conception spécifiques, telles que le rendu des modèles et la génération du DDL, etc.Pour activer l'instantiation au moment de la conception des types DbContext dérivés qui n'ont pas de constructeur public par défaut, implémentez cette interface.Les services au moment de la conception détectent automatiquement les implémentations de cette interface qui se trouvent dans le même assembly que le type de DbContext dérivé.
Interface publique IDbExecutionStrategy Stratégie utilisée pour exécuter une commande ou une requête sur la base de données, éventuellement avec une logique de nouvelle tentative en cas d'échec.
Interface publique IDbModelCacheKey Représente une valeur de clé qui identifie de manière unique un modèle Entity Framework qui a été chargé en mémoire.
Interface publique IDbModelCacheKeyProvider Implémente cette interface sur votre contexte afin d'utiliser la logique personnalisée pour calculer la clé utilisée pour rechercher un modèle déjà créé dans le cache.Cette interface vous permet de disposer d'un type de context unique qui peut être utilisé avec différents modèles dans le même AppDomain, ou de plusieurs types de contexte qui utilisent le même modèle.
Interface publique IDbProviderFactoryResolver Service pour obtenir le DbProviderFactory approprié d'un DbConnection donné.
Interface publique IManifestTokenResolver Service pour obtenir un jeton de manifeste du fournisseur pour une connexion donnée.La classe DefaultManifestTokenResolver est utilisée par défaut et utilise le fournisseur sous-jacent pour obtenir le jeton, ce qui implique souvent l'ouverture de la connexion.Une implémentation différente peut être utilisée à la place en ajoutant un IDbDependencyResolver à DbConfiguration qui peut utiliser toutes les informations de la connexion pour obtenir le jeton.Par exemple, si la connexion est connue pour pointer vers une base de données SQL Server 2008, « 2008 » peut être retourné sans ouvrir la connexion.
Interface publique IMetadataAnnotationSerializer Implémentez cette interface pour permettre aux annotations personnalisées représentées par les instances MetadataProperty d'être sérialisées depuis et vers EDMX XML.Habituellement, une instance du sérialiseur est définie à l'aide de la méthode SetMetadataAnnotationSerializer(String, Func<IMetadataAnnotationSerializer>).
Interface publique IObjectContextAdapter Interface implémentée par les objets qui peuvent fournir une instance ObjectContext.La classe DbContext implémente cette interface pour fournir l'accès à l'ObjectContext sous-jacent.
Interface publique IProviderInvariantName Utilisé par IDbDependencyResolver et DbConfiguration pour résoudre un nom invariant de fournisseur à partir d'un DbProviderFactory.

Énumérations

  Énumération Description
Énumération publique DbConnectionStringOrigin Décrit l'origine de la chaîne de connexion de base de données associée à un objet DbContext.