Bonjour,
Soit 4 tables liées (scdt_cad, scdt_cad_qualif, scdt_circ et scdt_designation). L'objet scdt_cad contient donc 3 ICollection (scdt_cad_qualif, scdt_circ et scdt_designation)
Et enfin une table indépendante anc_lots.
scdt_cad contient code_cad
scdt_designation contient code_designation (et code_cad via son scdt_cad parent)
anc_lots contient code_cad et code_ds (équivalent à code_designation).
Il y a bcp de scdt_cad, et chaque scdt_cad contient plusieurs code_designation. Mais seulement certains code_designation (et donc leur scdt_cad parent) sont repris dans anc_lots.
Je veux faire des combobox dans lesquelles l'utilisateur choisira d'abord le scdt_cad, puis le scdt_designation. Il ne me sert donc à rien d'afficher les scdt_cad et les scdt_designation inutilisés.
Je cherche dès lors à sortir seulement les scdt_cad qui sont repris dans anc_lots (via code_cad), et dans ces scdt_cad, seulement les scdt_designation qui se trouvent dans anc_lots (via code_cad et code_ds).
La requête que j'ai écrite sort bien seulement les scdt_cad concernés. Par contre, dans chaque scdt_cad, toutes les scdt_designation sortent, même celles dont la combinaison code_cad + code_ds ne se trouve pas dans anc_lots (ce que je comprend vu ce que j'ai écris).
Comment faire pour ne "garder" que les scdt_designation concernées et pas toutes ?
Merci.
Code LINQ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 var result = context.scdt_cad .Include("scdt_designation") .Include("scdt_cad_qualif") .Include("scdt_circ") .Where(x => x.scdt_designation.Any(y => context.anc_lots.Any(z => z.code_ds == y.code_designation && z.code_cad == x.code_cad))) .ToList();
Partager