Bonjour,

D'abord, pour les grincheux, je poste cette question dans le forum Silverlight car comme vous le remarquerez, j'ai besoin d'un Include, et dans tous les exemples que je trouve, le Include n'y figure pas.

Le code ci-après fonctionne, mais je me dis qu'il doit y avoir plus simple et plus efficace... donc si quelqu'un à une idée, elle est la bienvenue.

Voici le problème:
J'ai des "Contrats", ces contrats contiennent un ou plusieurs "Projets". Ces contrats contiennent également une ou plusieurs "Affectations".

Ma requête vise à récupérer tous les "projets" pour lesquels le contrat parent contient une "affectation" répondant à un certain critère.

Voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 public IQueryable<ProjetTbl> GetProjetsOrderedByNom(int parEmployeId)
        {
            IQueryable<ProjetTbl> aaa = default(IQueryable<ProjetTbl>);
 
 
            var itemQuery = from myAffectation in this.ObjectContext.AffectationTbl 
                where myAffectation.AffectationEmployeId == parEmployeId 
                select myAffectation.AffectationContratId;
 
            aaa = from myProjet in this.ObjectContext.ProjetTbl.Include("ContratTbl")
                  where itemQuery.Contains<int>( myProjet.ProjetContratId)
                      orderby myProjet.ProjetNom 
                  select myProjet;
 
            return aaa;
        }