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

Signaler
Messages postés
2
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
5 juin 2010
-
nhervagault
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
-
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

3 réponses

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
24
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é.
Messages postés
2
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
5 juin 2010

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
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
24
lambda expression c'est a dire?
normalement ce que tu avais mieux et ce que j'ai mis devais fonctionner