Bonne façon d'utiliser la Classe DBCONTEXT dans MVC
MVC nous créons Dbcontext Modèles comme
public class Model1 : DbContext
{
public Model1()
: base("DefaultConnection")
{}
public DbSet<SomeObj> SomeObjSet { get; set; }
}
//another model
public class Model2 : DbContext
{
public Model2()
: base("DefaultConnection")
{}
public DbSet<SomeObj2> SomeObjSet { get; set; }
}
Alors nous utilisent des contrôleurs comme
public class SomeController : Controller
{
private Model1 db1 = new Model1();
private Model2 db2 = new Model2();
public ActionResult Action1()
{
//do sth with Model1 and return
return View(db1.SomeObjSet.ToList());//
}
public ActionResult Action2()
{
//do sth with Model2 and return result
return View(db2.SomeObjSet.ToList());//
}
Mais ma question est que de cette manière, nous créons Plusieurs DBConnections
. Est-il préférable de combiner les deux modèles dans un modèle et un modèle dédié par le contrôleur?
Vous devez vous connecter pour publier un commentaire.
Non, ne vous inquiétez pas à ce sujet. Cadre de l'entité (ou plus précisément ADO.NET dont elle dépend) poignées réelle DB connexions dans le pool de connexions. Donc, ne pas confondre un DbContext avec une réelle DbConnection. Ceux sont 2 choses complètement différentes.
En fait, il y a moyen standard pour ce type de scénarios..
Unité De Travail & Generic Référentiel avec Entity Framework 5
Aussi, veuillez consulter ce post: La compréhension et la mise en Œuvre du Référentiel et Motif d'Unité de Travail dans ASP.NET Application MVC
Je suis de la copie de texte ci-dessous à partir de la deuxième lien.