Bonjour,

j'essaye de créer une requête linq en utilisant les expression lambda qui join trois table, j'ai vu comment on pouvait joindre 2 tables mais pour 3 j'ai pas trouvé.
J'ai réussi à écrire une requête linq fonctionnel mais j'aimerais bien pouvoir la réécrire en utilisant les expression lambda.

J'ai donc trois table:
- une carnet d'adresse contenant les différents utilisateur
- une contact contenant les différents contact et leur information
- une annuaire contenant les différentes société

dans contact j'ai une clé étrangère pointant sur carnet d'adresse et une autre sur annuaire.

Et je voudrais donc retrouvé toutes les société référencé pour un utilisateur donné:

Voici un résultat fonctionnel en sql et un autre en linq:
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
17
18
19
20
21
22
 
select * from TRD_ANNUAIRE a
join TRD_CONTACT c on a.SOA_ID=c.CTA_SOA_ID
join TRD_CARNET_ADRESSE ca on c.CTA_ID=ca.CAD_CTA_ID
where ca.CAD_USR_CODE=1
 
List<SocieteAnnuaireCompatible> test = (from a in database.TRD_ANNUAIRE
                                                            join c in database.TRD_CONTACT on a.SOA_ID equals c.CTA_SOA_ID
                                                            join ca in database.TRD_CARNET_ADRESSE on c.CTA_ID equals ca.CAD_CTA_ID
                                                            where ca.CAD_USR_CODE == code_uti
                                                            select new SocieteAnnuaireCompatible
                                                            {
                                                                Nom = a.SOA_NOM,
                                                                Adresse = a.SOA_ADRESSE,
                                                                CodePostal = a.SOA_CODE_POSTAL,
                                                                Email = a.SOA_EMAIL,
                                                                Fax = a.SOA_FAX,
                                                                Id = a.SOA_ID,
                                                                Gsm = a.SOA_GSM,
                                                                Telephone = a.SOA_TELEPHONE,
                                                                Ville = a.SOA_VILLE
                                                            }).Distinct().ToList();
Si quelqu'un pourrait m'aider à créer cette requête merci.