2011-03-17 6 views
1

J'ai lu dans un article précédent sur la façon de résoudre une solution en plaçant le ObjectContext de mon Db dans une propriété dans HttpContext.Current.Items ["Db"]; Cela fonctionne fantastique, mais j'ai une question. Cela signifie-t-il que chaque fois que j'utilise mon référentiel, je dois passer le ObjectContext dans HttpContext.Current.Items ou dois-je seulement le faire lorsque je crée ou que je mets à jour une entité qui a une référence à une autre entité.Entity Framework 4 ObjectContext GuideLines

Dans mes classes de référentiel, j'ai 2 façons de les instancier, avec un ObjectContext et sans lequel l'ObjectContext est créé dans l'entité.

Répondre

1

Vous devez partager un contexte parmi tous vos référentiels utilisés dans le traitement de requête HTTP unique. Vous devez également disposer du contexte à la fin du traitement de la demande. En règle générale, votre référentiel ne doit pas dépendre de HttpContext. Le meilleur moyen est de créer ObjectContext en dehors de vos dépôts et de toujours le passer à leur constructeur. Vous pouvez également le faire en utilisant un conteneur IoC tel que Windsor, StructureMap, Ninject ou Unity.

+0

Merci, cela répond exactement à ma question et je serai en mesure de m'assurer que j'y adhère aussi tôt dans mon projet. – Jhixiaus