p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    juin 2009
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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
    Software Developer
    Inscrit en
    mars 2008
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer

    Informations forums :
    Inscription : mars 2008
    Messages : 1 473
    Points : 2 292
    Points
    2 292

    Par défaut

    Est-ce résolu?

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    juin 2009
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    @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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

Discussions similaires

  1. WCF entityframework serialisation
    Par Dargos30 dans le forum Services Web
    Réponses: 6
    Dernier message: 15/03/2012, 22h19
  2. [Architecture] WCF Services
    Par leMarseillais dans le forum Windows Communication Foundation
    Réponses: 8
    Dernier message: 08/03/2007, 13h08
  3. [WCF] Récupération du type de Binding
    Par NicolasR dans le forum Windows Communication Foundation
    Réponses: 1
    Dernier message: 14/02/2007, 17h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo