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