Comment afficher les données de plusieurs tables dans une même vue MVC
Je vais avoir du mal à résoudre le suivant avec un MVC vue.
Mon but est d'afficher des données provenant de plusieurs tables en une seule MVC vue. L'essentiel des données provient d'une table appelée Détaillants. J'ai aussi une autre table appelée RetailerCategories qui stocke les retailerid par les Détaillants de la table et aussi un code de catégorie de liaison à une Catégorie de la table.
Remarque qu'il y a plusieurs enregistrements pour chaque retailerid dans le RetailerCategories table.
Dans la vue, je veux vous montrer une liste des détaillants et à chaque détaillant j'en veux pour preuve la liste des catégories qui leur sont applicables.
Quelle serait la meilleure façon d'accomplir cette? Certaines des choses que j'ai essayé sont couverts dans Pouvez-vous aider cette MVC ViewModel problème?
Ceci, cependant, ne semble pas être la bonne approche.
source d'informationauteur Cunners | 2010-11-30
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'un modèle de vue spécifiquement conçu pour les besoins de ce point de vue. Lors de la définition des modèles de vue, vous ne devriez pas penser en termes de tables. Les tables SQL n'ont absolument aucun sens dans une vue. Penser en termes de ce que les informations dont vous avez besoin pour afficher et définir les modèles de vue en conséquence. Ensuite, vous pouvez utiliser AutoMapper pour convertir entre vos modèles réels et le modèle de vue que vous avez défini.
Alors oubliez tout ce que tu dis à propos de tables et de se concentrer sur la phrase suivante:
Cette phrase est vraiment très bon car il explique exactement ce dont vous avez besoin. Donc, une fois que vous savez ce que vous avez besoin d'aller de l'avant et de le modéliser:
Maintenant vous fortement du type de votre point de vue à
IEnumerable<RetailerViewModel>
. De là, il est facile comme bonjour à faire ce que vous voulez dans la vue:cela pourrait également être utile;
vidéo de chris pels
C'est simple il suffit de faire ce que je dis, étape par étape.
ajouter de la chaîne de connexion dans
web.config
fichiersélectionner les modèles à partir de l'explorateur de solutions et ajouter les 4 classes suivantes
De 1ère classe pour le premier tableau, "j'ai emploient table qui ont 3 colonnes
public class Employer
{
[Key]
public int Emp_id { get; set; }
public string Emp_name { get; set; }
public string Emp_city { get; set; }
}
De 2e classe pour mon tempo table
public class tempo
{
[Key]
public int ID { get; set; }
public int Emp_Id { get; set; }
public string objet { get; set; }
public string hobby { get; set; }
}
Maintenant, j'ai créer une classe de troisième dans le modèle de dossier qui contient la valeur que j'ai envie d'employer le tableau et le tempo de la table
et la dernière est la classe la classe datacontext
maintenant aller à la Maison de contrôleur et ajoutez le code ci-dessous
maintenant l'étape finale est si simple
Maintenant, vous avez terminé
Heureux de codage...