Code:Dim meetings = db.meeting.AsExpandable().Where(predicate1).ToList()
Si j'ai bien compris ce que j'ai fait, ToList() permet de séparer les différentes Linq requêtes, ce qui faisait que 2 requêtes arrivaient en même temps.
Je pensais que le programme devait attendre que MySQL ait répondu avant de lancer la requête suivante... Bizarre, non?
Par contre, pour les "And", ça ne réagissait pas comme prévu. J'avais trop peu de résultats. J'ai modifié comme ceci :
Mais je ne suis vraiment pas sur de ma logique. J'aurais aimé pouvoir mettre une sorte de parenthèses afin de faire une sorte de priorité des opérations (comme en math).Code:
1
2
3
4
5
6
7
8
9
10 predicate5 = predicate5.And(Function(m) m.nom.Contains(tmp)) predicate5 = predicate5.Or(Function(m) m.prenom.Contains(tmp)) predicate5 = predicate5.Or(Function(m) m.titre.Contains(tmp)) predicate5 = predicate5.Or(Function(m) m.departement.Contains(tmp)) predicate5 = predicate5.Or(Function(m) m.qualifications.Contains(tmp)) predicate5 = predicate5.Or(Function(m) m.langue1.Contains(tmp)) predicate5 = predicate5.Or(Function(m) m.langue2.Contains(tmp)) predicate5 = predicate5.Or(Function(m) m.langue3.Contains(tmp)) predicate5 = predicate5.Or(Function(m) m.langue4.Contains(tmp)) predicate5 = predicate5.Or(Function(m) m.langue5.Contains(tmp))
Les résultats *semblent* corrects