+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Membre régulier
    Homme Profil pro Alex
    Ingénieur développement logiciels
    Inscrit en
    juin 2009
    Messages
    231
    Détails du profil
    Informations personnelles :
    Nom : Homme Alex
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2009
    Messages : 231
    Points : 92
    Points
    92

    Par défaut WCF, Entityframework, et MVC3

    Bonjour à tous.

    Je développe actuellement un projet couplant wcf, EntityFramework, et MVC3.

    Mon modèle de bdd a été crée dans le service webService avec entityFramework.

    Dans mon projet MVC, je n'est donc pas de model, je récupère directement les entités de mon webservice.

    J'ai par exemple une table Personnes avec des champ et une table Adresse avec une relation 1..N (chaque personnes peuvent avoir une ou plusieurs adresses). Jusqu'ici tout va bien, j'arrive bien a avoir accès dans mon contrôleur aux champs de personnes mais pas à la relation adresse.

    Dans mon Webservice, quand je crée un objet Personnes, j'ai accès à la relation adresse mais quand je crée le même objet dans mon contrôleur MVC, je n'ai pas la relation personnes (alors que les getter et setter sont public) donc je ne vois pas trop comment sur la même vue la personne et au moins une adresse. Dois-je créer une vue pour la création d'une adresse avec un listbox contenant les personnes ? c'est plutôt bizarre.

    Si quelqu'un à une idée je vous remercie d'avance. Et bonne année à tous

  2. #2
    Membre Expert

    Homme Profil pro Gilles Vino
    Software Developer
    Inscrit en
    mars 2008
    Messages
    1 475
    Détails du profil
    Informations personnelles :
    Nom : Homme Gilles Vino
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer

    Informations forums :
    Inscription : mars 2008
    Messages : 1 475
    Points : 2 373
    Points
    2 373

    Par défaut

    Est-ce résolu?

  3. #3
    Membre régulier
    Homme Profil pro Alex
    Ingénieur développement logiciels
    Inscrit en
    juin 2009
    Messages
    231
    Détails du profil
    Informations personnelles :
    Nom : Homme Alex
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2009
    Messages : 231
    Points : 92
    Points
    92

    Par défaut

    Oui c'est résolu pardon j'avais un peu zappé ce post.

    En fait la table adresse correspond à une entité du modèle donc à un contrôleur et des vues pour le CRUD.

    En fait quand j'affiche la liste des personnes j'ai un bouton permettant d'ajouter une adresse.

    Code du bouton :
    Code :
    @Ajax.ImageActionLink("../../Content/images/Enveloppe.png", "Adresse", "Create", new { id = @admin.PERS_ID }, null, new { title = "Ajouter une adresse" })
    Ce bouton ouvre la vue create adresse avec l'id de la personne. Dans mon service j'ai une méthode qui permet d'ajouter une adresse avec l'id de la personne donc niquel, pas besoin des propriétés de navigation.

    Pour ce qui est d'afficher dans une même vue la liste de toutes les personnes avec leurs adresse j'ai rusé (je pense qu'il y avait mieux à faire !!).
    Dans ma fonction Index du contrôleur personne (pour afficher la vue contenant toutes les personnes), j'ai récupéré la liste de toutes les adresses que je met dans le viewbag.

    Code :
    1
    2
     
    ViewBag.LstAdr = wss.RecupListeAdresse();
    Dans ma vue j'ai rajouté la référence à mon l'entité adresse (@using ...) et pour chaque personne je boucle sur la liste adresse pour trouver la ou les adresses :

    Code :
    1
    2
    3
    4
    5
    6
     
    ADRESSE[] liste = ViewBag.LstAdr;
       for (int i = 0; i < liste.Length; i++)
       {
           if (@admin.PERS_ID == liste[i].PERS_ID) ......
       {
    Voilà si quelqu'un a une meilleure idée je suis preneur pour la culture

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •