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:
Si quelqu'un pourrait m'aider à créer cette requête merci.
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();
Partager