Je pense que je suis confronté à un problème d'architecture que je peux résoudre:Où stocker DbContext dans une application asp.net?
Je développe d'abord un code d'infrastructure d'application web en utilisant (v4.3 beta1). En outre, quelques services Web sont publiés.
Dans une bibliothèque de classes distincte, j'ai le DbContext et al, les entités. Cette bibliothèque est référencée par l'application web, de manière évidente.
Dans la bibliothèque "données", j'ai une propriété statique pour tenir de contexte:
namespace MMOrpheus.Lib
{
public class Context
{
public static MMOrpheusDB MMO
{
get
{
if (HttpContext.Current != null && HttpContext.Current.Session["MMOEntities"] == null)
{
HttpContext.Current.Session["MMOEntities"] = new MMOrpheusDB();
}
return HttpContext.Current.Session["MMOEntities"] as MMOrpheusDB;
}
set
{
if (HttpContext.Current != null)
HttpContext.Current.Session["MMOEntities"] = value;
}
}
}
}
MMOrpheusDB héritent de DbContext.
Donc, le problème est que je pense que ce n'est pas correct. Entre autres, je ne pense pas que cette classe Context devrait utiliser System.Web!
Des suggestions sur comment organiser ce projet?
Merci Afshin Gh, vous avez donné beaucoup à lire –