Bonjour,
J'abuse du forum, mais je suis sur EF First Code et y a pas beaucoup de sources. Je suis donc en train de mettre en place mes classes de modeles. J'ai une classe Demande:
Donc elle contient l' id d'un vendeur et d'un responsable qui sont de la classe user. J'ai aussi une "navigation properties" vers les documentations et les messages relatifs à cette demande...c'est un accesseur à l'objet qui est créé à partir de la ligne de la table référencée ,de ce que j'ai compris,bien pratique...quand ça marche
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 public class Demande { public int DemandeId { get; set; } public string Titre { get; set; } ... public int VendeurID { get; set; } public int ResponsableID { get; set; } //foreign key vers le vendeur qui a fait la demande, une demande est liée à un responsable public virtual User Vendeur { get; set; } //foreign key vers le responsable de la demande, une demande est liée à un responsable public virtual User Responsable { get; set; } //Une demande peut avoir plusieurs documentations rattachées et //plusieurs message public virtual ICollection<Documentation> Documentations { get; set; } public virtual ICollection<Message> Messages { get; set; } } }.
J'ai ensuite ma classe user:
Dans mon controleur, je passe la liste de toute les demandes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public class User { public int UserId {get;set;} ... //On declare l'enumeration pour gere les rôles public Role Role { get; set; } public int RoleValue { get { return (int)Role; } set { Role = (Role)value; //je veux faire reference aux demandes qui concerne un responsable ou //un vendeur public virtual ICollection<Demande> Demandes { get; set; } } } }
Les informations de chaque demandes sont ensuite affichées dans un tableau de la vue, et ma question arrive, pas de probleme pour afficher les elements de la table demande, par contre si je demande d'afficher le nom du vendeur ou du responsable, j'ai un blanc sans erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public ActionResult Index() { return View(db.Demandes.ToList()); }
Donc, meme si la complétion me propose de mettre Vendeur.Nom, je pense qu'il me manque quelquechose en base pour gérer les relations.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 @foreach(var item in Model){ <tr> <td>@Html.DisplayFor(modelItem =>item.DemandeId)</td> <td>@Html.DisplayFor(modelItem =>item.Titre)</td> <td>@Html.DisplayFor(modelItem =>item.Vendeur.Nom)</td> <td>@Html.DisplayFor(modelItem =>item.Responsable.Nom)</td>
Sur le tuto de windows(lien) pour creer un modele complexe, on trouve une fonction qui définie ou redefinie les relations, mais ils ne définissent pas toutes les relations dedans. Cette relation serait une many-to-one? comment le dire au EF?
Bonne journée
Partager