Relations many to many linq to entities [Résolu]

Messages postés
2
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
5 juin 2010
- - Dernière réponse : nhervagault
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
- 5 juin 2010 à 23:03
Bonjour à tous,

Voici mon problème

J'ai une table USER, une table CAMPUS et une table relationnelle que je nomme TJ_REL_USER_CAMPUS avec un id user et un id campus.

Je souhaiterais faire une requete linq to entities pour m'afficher les campus en fonctions de l'id User.

J'ai donc codé ca
public List<CampusEntities> GetCampusByIdUser(int idUser)
        {
            DAL.timetableEntities entity=new timetableEntities();
            List<CampusEntities> listCampus=new List<CampusEntities>();
            List<DAL.T_CAMPUS> list = (from camp in entity.T_CAMPUS
                         from camUti in entity.TJ_REL_UTILISATEUR_CAMPUS
                          where camUti.UTI_ID.Equals(idUser)
                          select camp).Distinct().ToList();

            foreach(var campus in list)
            {
                listCampus.Add(new CampusEntities(){Id=campus.CAM_ID,Libelle =   campus.CAM_LIBELLE,Ville=campus.CAM_VILLE});
            }

            return listCampus;


Le problème c'est que plutot que m'afficher uniquement les campus de l'utilisateur, ca m'affiche tout et je ne comprends pas mon erreur.
Y-aurait-il une ame charitable qui pourrait m'expliquer pourquoi ca ne marche pas?
Merci d'avance
Cordialement, Maxwell
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
21
3
Merci
Salut,

Je ne comprends pas ou est ton problème.

Il faut mieux l'expliquer (ici tu mets que la DAL et tu nous parles d'affichage.

Comment est fait le binding pour ton affichage.

Une remarque ta boucle ne sert a rien tu peut la mettre dans le select.

 List<CampusEntities> list = (from camp in entity.T_CAMPUS
                         from camUti in entity.TJ_REL_UTILISATEUR_CAMPUS
                          where camUti.UTI_ID.Equals(idUser)
                          select new CampusEntities(){Id=camp.CAM_ID,Libelle =   camp.CAM_LIBELLE,Ville=camp.CAM_VILLE}).Distinct().ToList();


Ensuite le distinct n'est peut etre pas justifié
et le ToList devrait peut etre apparaitre plus tard pour faire de l'execution de requete en différé.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 127 internautes nous ont dit merci ce mois-ci

Commenter la réponse de nhervagault
Messages postés
2
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
5 juin 2010
0
Merci
Bonjour nhervagault,

Je viens de régler mon problème avec une expression lambda.
Le binding est fait sur une checkboxlist.C'etait bien ma requete qui n'était pas bonne.
Merci d'avoir pris part à mon probleme.
Cordialement, Maxwell
Commenter la réponse de maxwellff
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
21
0
Merci
lambda expression c'est a dire?
normalement ce que tu avais mieux et ce que j'ai mis devais fonctionner
Commenter la réponse de nhervagault