2010-09-23 5 views
2

Dans mon modèle, j'avoir des relations comme ceci:ASP.NET MVC 2 contrôleurs à Model Associations

[Person] 
PersonId (PK) 
... 

[Orders] 
OrderId (PK) 
PersonId (FK to Person.PersonId) 
... 

Une personne peut avoir plusieurs commandes.

J'ai généré PersonController avec les vues Créer/Détails/Lister/Éditer. Je veux être capable de manipuler des ordres aussi, mais dans le contexte d'une personne. En d'autres termes, je voudrais que le flux de travail pour être

  • utilisateur consulte une liste de personnes (/ Personnes)
  • utilisateur sélectionne le lien de Voir les commandes de côté d'une personne spécifique (/ Personnes/4/Commandes /)
  • utilisateur voit une liste des commandes avec créer/Détails/Modifier et (/ Personnes/4/commandes/Edition/38)

Est-ce la bonne façon de mettre en place mes contrôleurs/routes? Devrais-je simplement accéder aux commandes sur des routes comme (/ Orders/Edit/38) à la place?

En ce moment, j'ai:

PersonController OrderController

Dois-je créer un PersonOrderController ou puis-je obtenir ce que je veux en utilisant uniquement les deux contrôleurs je l'ai déjà?

Répondre

1

Vous devriez probablement utiliser seulement les deux contrôleurs que vous avez déjà. C'est un appel de jugement cependant. Deux concepteurs MVC différents peuvent faire cela de deux manières différentes. À moins que vous ne voyiez déjà beaucoup d'autres travaux pour votre OrderController, vous devriez commencer avec deux contrôleurs. Si OrderController devient gonflé, vous pouvez refactoriser.