Précédent   Forum du club des développeurs et IT Pro > Dotnet > Développement Web avec .NET > Services Web
Services Web Forum d'entraide sur le développement de services web. Avant de poster -> Articles Services Web
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 02/01/2012, 15h05   #1
alexxxx69
Membre régulier
 
Homme Alex
Ingénieur développement logiciels
Inscription : juin 2009
Messages : 204
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 : 204
Points : 89
Points : 89
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
alexxxx69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2012, 14h27   #2
alex_vino
Membre Expert
 
Homme Gilles Vino
Software Developer
Inscription : mars 2008
Messages : 1 309
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 309
Points : 2 295
Points : 2 295
Est-ce résolu?
alex_vino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2012, 20h02   #3
alexxxx69
Membre régulier
 
Homme Alex
Ingénieur développement logiciels
Inscription : juin 2009
Messages : 204
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 : 204
Points : 89
Points : 89
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
alexxxx69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 23h26.


 
 
 
 
Partenaires

Hébergement Web