Bonjour,

J'ai une requête SQL access à convertir en Linq

voici la chose :
Code SQL : 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
23
24
25
26
27
 
INSERT INTO Tbl_Traitement_GAPP ( Société, Région, [N° Site], [Nom Site], [Identifiant intervention], [Gamme intervention], [Description de l'intervention], [Identifiant tâche], Description, [Etat administratif intervention], [Date début prévu tâche], [Date fin prévu tâche], Detrompeur, [Entité demandeur], [Infos Demandeur], [Indicateur accompagnement], [Code Journalier], Coupure, [Validé ?], [Accompagnement ?], [Observation ?], Accès, [Contrainte de sécurité], V_Couleur, [Caractéristiques de l'intervention], [Sensibilité du site], [Approbation automatique AS], [Chef de projet SFR], [Date création intervention (hs)], [Identifiant demande], PlanPrevention, Appartenance )
				SELECT Tbl_TP.Société, Tbl_TP.Région, Tbl_TP.[N° Site], Tbl_TP.[Nom Site], 
				Tbl_TP.[Identifiant intervention], Tbl_TP.[Gamme intervention], 
				Tbl_TP.[Description de l'intervention], Tbl_TP.[Identifiant tâche], Tbl_TP.Description, 
				Tbl_TP.[Etat administratif intervention], Tbl_TP.[Date début prévu tâche], Tbl_TP.[Date fin prévu tâche], Tbl_TP.Detrompeur, 
				Tbl_TP.[Entité demandeur], Tbl_TP.[Infos Demandeur], Tbl_TP.[Indicateur accompagnement], Tbl_TP.[Code Journalier], Tbl_TP.Coupure, 
				Tbl_TP.[Validé ?], Tbl_TP.[Accompagnement ?], Tbl_TP.[Observation ?], Tbl_TP.Accès, Tbl_TP.[Contrainte de sécurité], Tbl_TP.V_Couleur, 
				Tbl_TP.[Caractéristiques de l'intervention], Tbl_CONTRATS.[Sensibilité du site], Tbl_CONTRATS.[Approbation automatique AS], Tbl_TP.[Chef de projet SFR], Tbl_TP.[Date création intervention (hs)], 
				Tbl_TP.[Identifiant demande], Tbl_TP.PlanPrevention, Tbl_CONTRATS.Appartenance
 
				FROM Tbl_Multi_Intervenants 
 
				INNER JOIN (Tbl_CONTRATS 
				INNER JOIN (Tbl_TP LEFT JOIN Tbl_Traitement_GAPP ON Tbl_TP.[Identifiant tâche] = Tbl_Traitement_GAPP.[Identifiant tâche]) 
 
				ON Tbl_CONTRATS.Emplacement = Tbl_TP.[N° Site]) 
 
				ON Tbl_Multi_Intervenants.[Identifiant tâche] = Tbl_TP.[Identifiant tâche]
 
				WHERE (((Tbl_Traitement_GAPP.[Identifiant tâche]) Is Null))
				GROUP BY Tbl_TP.Société, Tbl_TP.Région, Tbl_TP.[N° Site], Tbl_TP.[Nom Site], Tbl_TP.[Identifiant intervention], Tbl_TP.[Gamme intervention], Tbl_TP.[Description de l'intervention], 
				Tbl_TP.[Identifiant tâche], Tbl_TP.Description, Tbl_TP.[Etat administratif intervention], Tbl_TP.[Date début prévu tâche], Tbl_TP.[Date fin prévu tâche], Tbl_TP.Detrompeur, 
				Tbl_TP.[Entité demandeur], Tbl_TP.[Infos Demandeur], Tbl_TP.[Indicateur accompagnement], Tbl_TP.[Code Journalier], Tbl_TP.Coupure, Tbl_TP.[Validé ?], 
				Tbl_TP.[Accompagnement ?], Tbl_TP.[Observation ?], Tbl_TP.Accès, Tbl_TP.[Contrainte de sécurité], Tbl_TP.V_Couleur, 
				Tbl_TP.[Caractéristiques de l'intervention], Tbl_CONTRATS.[Sensibilité du site], Tbl_CONTRATS.[Approbation automatique AS], Tbl_TP.[Chef de projet SFR], 
				Tbl_TP.[Date création intervention (hs)], Tbl_TP.[Identifiant demande], Tbl_TP.PlanPrevention, Tbl_CONTRATS.Appartenance;

Voilà ce que j'ai fais :

Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 var query = from p in tbl_multiIntervenants.AsEnumerable()
                        join q in 
                                ( 
                                  from s in tbl_contrats.AsEnumerable()
                                  join t in 
                                            (
                                                from u in tbl_traitement_gapp.AsEnumerable()
                                                join v in tbl_TP.AsEnumerable()
                                                on u.Field<string>("Identifiant tâche") equals v.Field<string>("Identifiant tâche") into joined 
                                                from jointe in joined.DefaultIfEmpty()
                                                select jointe
                                            )
 
                                  on s.Field<string>("Emplacement") equals tbl_TP.AsEnumerable()
                    )

Et évidemment, ca ne me ressort pas les bonnes données

Pourriez-vous m'aider ?

Merci d'avance