Bonjour,
j’aimerai pouvoir optimiser mes jointure faite dynamiquement,
en effet le code qui suit est quelque peu lent, ce qui nuit a l'utilisation du soft.
J'ai vu sur des forums qu'il était possible de faire de multiple inner join sur une même table de la façon suivante :
J'aimerrai pouvoir faire de même mais de façon dynamique via une methode, laquelle je ne trouve pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 from A in As from B in Bs from C in Cs where A.ID == B.ID || A.ID == C.ID select A
Voici mon code de base que j'aimerrai optimiser :
Merci, a bientôt
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
23
24
25
26
27
28 IQueryable<Souscription> baseReq = req; req = null; foreach (var item in ModeSouscriptions) { if (item is ModeSouscriptionAgence) { IQueryable<Souscription> souReq = from souscription in baseReq join mode in Context.ModeSouscription.OfType<ModeSouscriptionAgence>() on souscription.ModeSouscription_ModeSouscriptionID equals mode.ModeSouscriptionID select souscription; if (req == null) req = souReq; else req = req.Union(souReq); } else if (item is ModeSouscriptionCourrier) { IQueryable<Souscription> souReq = from souscription in baseReq join mode in Context.ModeSouscription.OfType<ModeSouscriptionCourrier>() on souscription.ModeSouscription_ModeSouscriptionID equals mode.ModeSouscriptionID select souscription; if (req == null) req = souReq; else req = req.Union(souReq); } }
Partager