Question

Dans ma base de données, il y a peut-être une douzaine de tables qui représentent les types de consultation (Toutes les colonnes ont ID et Nom - Non, ils doivent rester sous forme de tableaux séparés, ne seront pas normalisées dans une table). Je construis une application d'administration, où je veux un administrateur pour pouvoir ajouter / modifier / supprimer / liste de toutes ces recherches. Je sais que je peux réutiliser le modèle, mais est-il me façon plus efficace d'écrire ceci dans une application mvc 2 asp, autre que l'écriture 3 vues, 1 contrôleur pour chaque type de recherche résultant en 48 vues et 12 contrôleurs?

Était-ce utile?

La solution

Je ne recommanderais pas retirer le couplage entre vos modèles, les contrôleurs et points de vue. L'idée derrière ce modèle est que vous obtenez de séparer la logique métier de la présentation du flux de travail. Si vous commencez à mélanger plusieurs modèles dans les mêmes vues / contrôleurs, il devient malpropre.

Peut-être essayer de faire ce que vous essayez utiliser une page maître et ayant vos modèles héritent d'une classe de base commune ou quelque chose comme ça à la place? De cette façon, vous pouvez réutiliser le code sans casser dans les mêmes fichiers.

Autres conseils

Qu'en est-il un mapping ORM plus avancé qui combine tous dans une seule entité?

Je ferais cela avec un contrôleur et une action / vue pour chaque opération CRUD (1x4). Quand et si les modifications du schéma sur une ou plusieurs tables de consultation, je traiterais alors. Sinon, pensez au travail nécessaire si vous ajoutez une colonne à chacune des tables: vous devez mettre à jour 48x12 ou quels que soient les fichiers.

Les détails de la façon dont vous le faites dépendent de votre modèle, mais il pourrait être fait simplement en utilisant ADO.NET et retourner un DataTable ou similaire peuplé d'une instruction SQL dynamique où le nom de la table est fournie par la vue. Vous auriez besoin de se prémunir contre l'injection SQL, bien sûr, si vous utilisez la concaténation de chaîne.

Créer vue serait Similairement utiliser le nom de table provenant de la forme affichée de savoir quelle table mettre à jour avec les données affichées.

Rechercher dans l'aide de modèles T4 ( exemple décent ) pour tout aménageons. Vous devriez être en mesure de coder gen les contrôleurs et points de vue sur la base de chaque modèle.

Désolé, ma réponse est d'aller avec les 48 vues et 12 contrôleurs ... ont le code général mis en place afin que si vous ajoutez plusieurs types de consultation, tout ce que vous devez faire est de relancer le code, et boum, les contrôleurs et les vues sont mis en place.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top