Bonjour à tous !!!
J'ai un petit problème (Oui, sinon je ne posterai pas ici)
Je fais une requête Linq To SQL pour récupérer une liste d'appel.
En fonction des tri que je veux effectuer à cette liste, je fais des WHERE en plus.
Mais je veux faire un WHERE id == [TOUT LES ELEMENTS D'UNE LISTE].
De façon statique, voilà à quoi ressemblerai ce que je voudrai faire:
SELECT ...
FROM ...
WHERE [CONDITIONS]
AND (id == 1 OR id ==2 OR id==3 OR ...)
Voilà ce que j'ai :
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 var q = from p in DbContext.Appels where (p.Client.Nom.Contains(Filter) || p.AppelId.ToString().Contains(Filter) || (p.Materiel.Modele1.Nom + " #" + p.Materiel.NumeroSerie).Contains(Filter) || p.ContactClient.Nom.Contains(Filter) || p.ContactClient.Prenom.Contains(Filter) || p.Dossier.Contains(Filter) || p.Client.CodePostal.Contains(Filter) || p.Client.Ville.Contains(Filter) || p.NumDevis.Contains(Filter)) select p; if (StatutAppel.HasValue) q = q.Where(p => p.StatutAppelId == StatutAppel.Value); if (StatutFacturation.HasValue) q = q.Where(p => p.Facturable == StatutFacturation.Value); if(statutDemande.HasValue) q = q.Where(p => p.StatutDemandePiece == statutDemande.Value); if (statutPro.HasValue) q = q.Where(p => p.Depot == statutPro.Value); //LIGNE QUI POSE PROBLEME //La ligne qui suit compare les ID étant dans la colonne ClientId à la liste d'id renvoyée par la fonction //Il y a une erreur mais c'est le plus parlant pour vous if (!statutRegion.Equals("")) q = q.Where(p => p.ClientId in GetAllClientIdByRegionLPS(statutRegion)); // GetAllClientIdByRegionLPS(statutRegion) renvoie une liste // RESTE DU CODE ...
Auriez-vous une solution à me proposer ?
Merci d'avance !!
Partager