Partager via


DbContext Classe

Définition

Un instance DbContext représente une combinaison des modèles d’unité de travail et de dépôt, de sorte qu’il peut être utilisé pour interroger à partir d’une base de données et regrouper les modifications qui seront ensuite réécrites dans le magasin en tant qu’unité. DbContext est conceptuellement similaire à ObjectContext.

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", Justification="Casing is intentional")]
public class DbContext : IDisposable, System.Data.Entity.Infrastructure.IObjectContextAdapter
public class DbContext : IDisposable, System.Data.Entity.Infrastructure.IObjectContextAdapter
type DbContext = class
    interface IDisposable
    interface IObjectContextAdapter
Public Class DbContext
Implements IDisposable, IObjectContextAdapter
Héritage
DbContext
Dérivé
Attributs
Implémente

Remarques

DbContext est généralement utilisé avec un type dérivé qui contient DbSet<TEntity> des propriétés pour les entités racine du modèle. Ces ensembles sont initialisés automatiquement lorsque l'instance de la classe dérivée est créée. Ce comportement peut être modifié en appliquant l’attribut à l’ensemble SuppressDbSetInitializationAttribute de la classe de contexte dérivée ou à des propriétés individuelles de la classe. L'Entity Data Model qui soutient le contexte peut être spécifié de plusieurs façons. Lorsque vous utilisez l’approche Code First, les DbSet<TEntity> propriétés du contexte dérivé sont utilisées pour générer un modèle par convention. La méthode OnModelCreating protégée peut être remplacée pour modifier ce modèle. Vous pouvez obtenir davantage de contrôle sur le modèle utilisé pour l’approche Model First en créant explicitement un DbCompiledModel à partir d’un DbModelBuilder et en transmettant ce modèle à l’un des constructeurs DbContext. Lorsque vous utilisez l’approche Database First ou Model First, le modèle de données d’entité peut être créé à l’aide de l’Designer d’entité (ou manuellement via la création d’un fichier EDMX), puis ce modèle peut être spécifié à l’aide d’une chaîne de connexion d’entité ou d’un EntityConnection objet. La connexion à la base de données (y compris le nom de la base de données) peut être spécifiée de différentes façons. Si le constructeur DbContext sans paramètre est appelé à partir d’un contexte dérivé, le nom du contexte dérivé est utilisé pour rechercher une chaîne de connexion dans le fichier app.config ou web.config. Si aucune chaîne de connexion n’est trouvée, le nom est passé au DefaultConnectionFactory inscrit sur la Database classe. La fabrique de connexions utilise ensuite le nom de contexte comme nom de base de données dans une chaîne de connexion par défaut. (Cette chaîne de connexion par défaut pointe vers .\SQLEXPRESS sur l’ordinateur local, sauf si un autre DefaultConnectionFactory est inscrit.) Au lieu d’utiliser le nom de contexte dérivé, le nom de la connexion/de la base de données peut également être spécifié explicitement en passant le nom à l’un des constructeurs DbContext qui accepte une chaîne. Le nom peut également être passé sous la forme « name=myname », auquel cas il doit être recherché dans le fichier de configuration, ou bien une exception est levée. Notez que la connexion trouvée dans le fichier app.config ou web.config peut être une chaîne de connexion de base de données normale (et non une chaîne de connexion Entity Framework spéciale), auquel cas le DbContext utilisera Code First. Toutefois, si la connexion trouvée dans le fichier de configuration est une chaîne de connexion Entity Framework spéciale, dbContext utilise Database/Model First et le modèle spécifié dans la chaîne de connexion sera utilisé. Un DbConnection existant ou créé explicitement peut également être utilisé au lieu du nom de base de données/connexion. Un DbModelBuilderVersionAttribute peut être appliqué à une classe dérivée de DbContext pour définir la version des conventions utilisées par le contexte lors de la création d’un modèle. Si aucun attribut n'est appliqué, alors la dernière version des conventions sera utilisée.

Constructeurs

DbContext()

Construit une nouvelle instance de contexte à l'aide de conventions pour créer le nom de la base de données sur laquelle une connexion sera établie. Le nom de la convention est le nom complet (espace de noms + nom de classe) de la classe de contexte dérivée. Consultez les remarques de classe pour savoir comment cela est utilisé pour créer une connexion.

DbContext(DbCompiledModel)

Construit une nouvelle instance de contexte à l'aide de conventions pour créer le nom de la base de données sur laquelle une connexion sera établie et l'initialise à partir du modèle donné. Le nom de la convention est le nom complet (espace de noms + nom de classe) de la classe de contexte dérivée. Consultez les remarques de classe pour savoir comment cela est utilisé pour créer une connexion.

DbContext(DbConnection, Boolean)

Construit une nouvelle instance de contexte à l'aide de la connexion existante pour se connecter à une base de données. La connexion n’est pas supprimée lorsque le contexte est supprimé si contextOwnsConnection est false.

DbContext(DbConnection, DbCompiledModel, Boolean)

Construit une nouvelle instance de contexte à l'aide de la connexion existante pour la connexion à une base de données, et l'initialise à partir du modèle donné. La connexion n’est pas supprimée lorsque le contexte est supprimé si contextOwnsConnection est false.

DbContext(ObjectContext, Boolean)

Construit un nouveau contexte instance autour d’un ObjectContext existant.

DbContext(ObjectContext, Boolean)

Construit un nouveau contexte instance autour d’un ObjectContext existant.

DbContext(String)

Construit une nouvelle instance de contexte à l'aide de la chaîne donnée, comme le nom ou la chaîne de connexion de la base de données sur laquelle une connexion sera établie. Consultez les remarques de classe pour savoir comment cela est utilisé pour créer une connexion.

DbContext(String, DbCompiledModel)

Construit une nouvelle instance de contexte à l'aide de la chaîne donnée, comme le nom ou la chaîne de connexion de la base de données sur laquelle une connexion sera établie, et l'initialise pour le modèle donné. Consultez les remarques de classe pour savoir comment cela est utilisé pour créer une connexion.

Propriétés

ChangeTracker

Fournit l'accès aux fonctionnalités du contexte relatives au suivi des modifications d'entités.

Configuration

Fournit l'accès aux options de configuration pour le contexte.

Database

Crée une instance de base de données pour ce contexte qui permet de vérifier la création/suppression/l’existence de la base de données sous-jacente.

Méthodes

Dispose()

Appelle la méthode Dispose protégée.

Dispose(Boolean)

Supprime le contexte. Le sous-jacent ObjectContext est également supprimé s’il a été créé est par ce contexte ou si la propriété a été passée à ce contexte lors de la création de ce contexte. La connexion à la base de données (DbConnection objet) est également supprimée si elle a été créée par ce contexte ou si la propriété a été passée à ce contexte lors de la création de ce contexte.

Entry(Object)

Obtient un DbEntityEntry objet pour l’entité donnée qui fournit l’accès aux informations sur l’entité et la possibilité d’effectuer des actions sur l’entité.

Entry<TEntity>(TEntity)

Obtient un DbEntityEntry<TEntity> objet pour l’entité donnée qui fournit l’accès aux informations sur l’entité et la possibilité d’effectuer des actions sur l’entité.

Equals(Object)

Un instance DbContext représente une combinaison des modèles d’unité de travail et de dépôt, de sorte qu’il peut être utilisé pour interroger à partir d’une base de données et regrouper les modifications qui seront ensuite réécrites dans le magasin en tant qu’unité. DbContext est conceptuellement similaire à ObjectContext.

GetHashCode()

Un instance DbContext représente une combinaison des modèles d’unité de travail et de dépôt, de sorte qu’il peut être utilisé pour interroger à partir d’une base de données et regrouper les modifications qui seront ensuite réécrites dans le magasin en tant qu’unité. DbContext est conceptuellement similaire à ObjectContext.

GetType()

Un instance DbContext représente une combinaison des modèles d’unité de travail et de dépôt, de sorte qu’il peut être utilisé pour interroger à partir d’une base de données et regrouper les modifications qui seront ensuite réécrites dans le magasin en tant qu’unité. DbContext est conceptuellement similaire à ObjectContext.

GetValidationErrors()

Valide les entités suivies et retourne une collection de contenant les résultats de DbEntityValidationResult validation.

OnModelCreating(DbModelBuilder)

Cette méthode est appelée lorsque le modèle d'un contexte dérivé a été initialisé, mais avant que le modèle ne soit verrouillé et utilisé pour initialiser le contexte. L'implémentation par défaut de cette méthode n'a aucun effet, mais elle peut être substituée dans une classe dérivée afin que le modèle puisse être configuré ultérieurement avant qu'il ne soit verrouillé.

SaveChanges()

Enregistre toutes les modifications effectuées dans ce contexte dans la base de données sous-jacente.

SaveChangesAsync()

Enregistre de manière asynchrone toutes les modifications apportées dans ce contexte dans la base de données sous-jacente.

SaveChangesAsync(CancellationToken)

Enregistre de manière asynchrone toutes les modifications apportées dans ce contexte dans la base de données sous-jacente.

Set(Type)

Retourne une instance non générique DbSet pour l’accès aux entités du type donné dans le contexte et le magasin sous-jacent.

Set<TEntity>()

Retourne une DbSet<TEntity> instance pour l’accès aux entités du type donné dans le contexte et le magasin sous-jacent.

ShouldValidateEntity(DbEntityEntry)

Point d'extension qui autorise l'utilisateur à substituer le comportement par défaut de la validation des entités ajoutées ou modifiées uniquement.

ToString()

Un instance DbContext représente une combinaison des modèles d’unité de travail et de dépôt, de sorte qu’il peut être utilisé pour interroger à partir d’une base de données et regrouper les modifications qui seront ensuite réécrites dans le magasin en tant qu’unité. DbContext est conceptuellement similaire à ObjectContext.

ValidateEntity(DbEntityEntry, IDictionary<Object,Object>)

Point d'extension qui permet à l'utilisateur de personnaliser la validation d'une entité ou de filtrer les résultats de la validation. Appelée par GetValidationErrors().

Implémentations d’interfaces explicites

IObjectContextAdapter.ObjectContext

Retourne l’objet Entity Framework ObjectContext qui est sous-jacent à ce contexte.

S’applique à