Bonjour !
Je viens de commencer à developper en linq et j'ai du mal avec ma jointure.

je veux faire cette jointure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
requete = From unEnr In MonDataContext.GetInstance().Stagiaire _
                      Join form In MonDataContext.GetInstance.Formation _
                                On unEnr.CodeStagiaire Equals form.CodeStagiaire _
                       Where (unEnr.Nom.ToUpper.Trim) Like critereNom.ToUpper.Trim _
                       And (unEnr.Prenom.ToUpper.Trim) Like criterePrenom.ToUpper.Trim _
                       And (unEnr.Ville.ToUpper.Trim) Like critereVille.ToUpper.Trim _
                       And form.CodePromotion.ToUpper.Trim Like criterePromo.ToUpper.Trim _
                       Select unEnr
Cela fonctionne bien ainsi, mais le problème est que je n'ai pas toujours besoin de cette jointure et je souhaite "parametrer" ma requete ...
Donc, d'abord, j'ai crée une requete de base :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
requete = From unEnr In MonDataContext.GetInstance().Stagiaire _
                                   Where (unEnr.Nom.ToUpper.Trim) Like critereNom.ToUpper.Trim _
                                   And (unEnr.Prenom.ToUpper.Trim) Like criterePrenom.ToUpper.Trim _
                                   And (unEnr.Ville.ToUpper.Trim) Like critereVille.ToUpper.Trim _
                                   Select unEnr
et, en fonction de mes critères de recherche sélectionnés, je rajoute ou pas :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
requete = requete.Join(MonDataContext.GetInstance().Formation, _
                                       Function(unEnr As Stagiaire) unEnr.CodeStagiaire, _
                                       Function(formAs Formation) form.CodeStagiaire, _
                                       Function(unEnr As Stagiaire, formAs Formation) unEnr)
Mais j'ai besoin dans cette jointure de rajouter la clause :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
form.CodePromotion.ToUpper.Trim Like criterePromo.ToUpper.Trim
Je ne sais absoluement pas comment faire...

Si quelqu'un comprend quelque chose à mon charabia et peut m'aider, merci d'avance beaucoup beaucoup !!!!!!!!!!!!!!!

AnneSo