Linq sous-ensemble sélectionné de la liste principale
J'ai une liste d'objets complexes.
J'ai une liste de int id que j'ai besoin de sélectionner de la complexité de l'objet de la liste principale.
cela ne fonctionne pas
MasterListofComplexObj.Where(u => MasterListofComplexObj.Select(i => i.Id).Contains(ChildListofIntIds));
toute aide serait appréciée.
- Êtes-vous une erreur? Ou de mauvais résultats? Pourriez-vous donner quelques valeurs d'entrée et de sortie que vous attendez?
Vous devez vous connecter pour publier un commentaire.
Cela devrait fonctionner:
ComplexObj
un par un, il est logiqueC'est un IEnumerable. Vous souhaitez peut-être .FirstOrDefault() pour obtenir un objet.
Se traduit par
MasterListofComplexObj.Où(point => ChildListofIntIds.Contient(item.Id))
Pas de sélectionner si vous voulez que l'objet lui-même et non pas l'une de ses propriétés.
L'autre plus général chose de regarder en serait de nous Rejoindre:
Je crois, mais ne pouvez pas sauvegarder avec citation ou de données expérimentales, que la Jointure est plus rapide que la Où -> Contient de la pièce.