Bonjour à tous,

J'ai entamé le dictatiel mvc music store et j'ai une petite question sur le code. Mais débutant en MVC il s'agit peut être plus d'une question MVC, je ne sais pas trop

Dans la partie IV on effectue des maj des classes du modèle avant la création de la base avec Entity Framework :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
 
namespace MvcMusicStore.Models
{
    public class Album
    {
        public int      AlbumId     { get; set;
}
        public int      GenreId     { get; set; }
        public int      ArtistId    { get; set; }
        public string   Title       { get; set; }
        public decimal  Price       { get; set; }
        public string   AlbumArtUrl { get; set; }
        public Genre    Genre       { get; set; }
        public Artist   Artist      { get; set; }
    }
}
A ce moment la du tuto, je n'ai pas compris pquoi on avait les propriétés GenreId et ArtistId, puisqu'on a déjà des propriétés Genre et Artist. Et "pour voir" je n'ai pas mis ces propriétés Id.

Maintenant dans la partie 5, on crée un nouveau contrôleur qui inclût les opérations CRUD sur la classe Album. Lors de la génération automatique des vues, je n'ai pas les champs Genre et Artist qui apparaissent. Et si je rajoute quelque chose du genre suivant dans la vue :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
@Html.DisplayFor(modelItem => item.Artist.Name)
je n'ai pas d'erreur, mais aucune valeur ne s'affiche.
Ma table "Album" de la base de donnée étant bien valorisé avec un id d'artiste et un id de genre.


Je comprends donc que les propriétés GenreId et ArtistId de la classe Album sont importantes mais je ne comprends pas pquoi. J'ai l'impression que les mettre c'est faire de la redondance dans le code ?!


Merci d'avance de vos explications