2010-04-13 7 views
0

Je souhaite effectuer une implémentation avec un modèle de référentiel avec ASP.NET MVC 2 et Entity Framework, mais j'ai rencontré quelques problèmes au cours du processus. Tout d'abord, j'ai 2 entités qui ont une relation entre eux, comme la commande et le produit. Lorsque je génère mon fichier dbml, il me donne une classe Ordre avec une propriété qui mappe un "ProductSet" et une classe Produit avec une propriété qui mappe l'ordre que le produit se rapporte lui-même. Donc, je crée mon modèle Repository comme IReporitory avec les opérations CRUD de base et dans mes contrôleurs j'applique ProductRepository ou OrderRepository.Modèle de référentiel et cadre d'entité

Le problème se produit lorsque je tente de créer des produits et doivent affecter ma commande sur elle, comme ProductOne.Order = _orderRepository.Find(orderId);

Cette opération m'a donné un comportement étrange et je ne peux pas savoir ce qui est mal avec elle.

+3

Veuillez définir ce que vous entendez par * comportement étrange *. –

+0

Déjà résolu Darin, merci. Ce que je voulais dire avec Strange Behaviour, c'est que lorsque j'ai commis certains changements à des entités connexes, il y a eu différents types d'exceptions. En plus de cela, j'ai résolu mon problème avec la méthode expliquée dans l'autre réponse, avec la variable partagée httpcontext. – user319923

Répondre

2

La question manque quelque peu de détails mais je suppose que vous utilisez deux ObjectContexts distincts dans vos deux référentiels au lieu d'un. Vous souhaiterez gérer la durée de vie de votre objet ObjectContext pour être étendu à une seule requête Web et avoir un seul ObjectContext pour la durée de vie de ce cycle de requête Web.

Recherche Google pour 'web scoped objectcontext' ou 'objectcontext lifetime'.

par exemple. http://dotnetslackers.com/articles/ado_net/Managing-Entity-Framework-ObjectContext-lifespan-and-scope-in-n-layered-ASP-NET-applications.aspx

+0

Thx pour l'info Hightechrider, C'est exactement le problème, mais je suis un débutant dans le modèle de dépôt et je ne sais pas comment contrôler cela, peut-être avec un motif singleton, je ne sais pas. Est-ce que quelqu'un a quelque exemple sur comment puis-je faire cela? – user319923

+0

J'ai ajouté une référence à un article qui montre comment gérer les durées de vie ObjectContext. Scoping à la vie de la demande web fonctionne bien à mon humble avis. –

+0

Merci beaucoup Hightechrider. – user319923

Questions connexes