web-dev-qa-db-fra.com

Quel est le but d'une classe de contexte de base de données dans asp.net mvc

je suis nouveau sur mvc et ai fait quelques tutoriels pour bien le comprendre, mais dans certains de ces tutoriels, j’ai trouvé un exemple avec une classe DbContext asp.net mvc5 avec EF6 tutorial

J'ai essayé de rechercher des informations sur DbContext Class, mais je n'ai pu obtenir aucune information qui me rende plus sage! tout ce que j'ai pu trouver, ce sont plus des mêmes tutoriels avec peu d'informations. J'ai aussi consulté la classe sur msdn DbContext Class .

J'ai déjà fait des tutoriels sans classe de contexte db et cela fonctionne bien. Ma question est la suivante: dois-je utiliser une classe de contexte et quels sont les avantages d'utiliser une classe DbContext?

Toute aide serait appréciée Merci.

17
mstadler

Je dirais d’abord que la classe DbContext se rapporte à Entity Framework (EF) , mais ensuite, les balises question suggéreraient que vous en ayez bien compris la part. En utilisation typique, dériver de la classe DbContext est simplement la manière d'intégrer un accès aux données basé sur EF dans votre application. La classe dérivée de DbContext est essentiellement la couche d'accès aux données de votre application.

En d'autres termes, si vous souhaitez accéder aux données avec Entity Framework, DbContext est ce que vous voulez.

19
Daniel Pratt

Vous pouvez considérer DbContext comme connexion à la base de données et un ensemble de tables, et DbSet comme représentation des tables elles-mêmes. La DbContext vous permet de lier vos propriétés de modèle (probablement à l'aide d'Entity Framework) à votre base de données avec une chaîne de connexion. 

Plus tard, lorsque vous souhaitez faire référence à une base de données de votre contrôleur pour gérer des données, vous faites référence à la variable DbContext. Par exemple, 

public class UserSitesContext : DbContext
{
    public UserSitesContext()
        :base("name=UserSitesContext")
    {
    }

    public virtual DbSet<Site> Sites { get; set; }
}

est référencé plus tard dans le contrôleur comme

private UserSitesContext dbUser = new UserSitesContext();

var queryExample = from u in dbUser.Sites select u;

:base("connection") fait référence à votre chaîne de connexion trouvée dans Web.config.

16
aiokos

Il s'agit de la classe de base responsable de la gestion des connexions à la base de données. Elle fournit toutes sortes de fonctionnalités liées à la base de données, telles que les méthodes d'accès aux données permettant d'interagir avec Database. 

3

dbContext dans Entityframework fonctionne comme DAL Data Access Layer établir une connexion avec votre base de données.

0
Muhammad Kamran

DbContext est une classe fournie par Entity Framework pour établir une connexion à une base de données, interroger la base de données et établir une connexion étroite.

L’extension de DbContext permet de définir un modèle de base de données avec DbSet (un ensemble spécifique mappé sur une table ou plus), de créer une base de données, de lui poser des questions,.

0
Nab