Sélectionnez la propriété d'un objet dans une liste d'objets qui est également dans une autre liste d'objets

J'ai de la prochaine arhitecture:

public class Element
{
    public uint Id { get; set; }
    public ICollection<ElementDetails> elementDetails { get; set; }
}
public class ElementDetails
{
    public string ElementTitle { get; set; }
    public string Content { get; set; }
}

Et il n'y a List<Element> someList qui contient des centaines d'éléments.
Je suis en train d'essayer d'obtenir une liste de ElementTitle (chaînes de caractères) qui contient un certain texte (que j'ai appelé "graine").
Ce que je veux accomplir, c'est un typeahead. Voici ma tentative:

List<Element> suggestedElements = someList.Where(s => s.elementDetails.Any(ss => ss.ElementTitle.Contains(seed))).ToList();
List<string> suggestions = suggestedElements .SelectMany(t => t.elementDetails.Select(x => x.ElementTitle)).ToList() }); //contains all ElementTitle, including those ElementTitle that don't contain the "seed"...

Comment puis-je me débarrasser de ces éléments qui ne contiennent pas de la graine?

InformationsquelleAutor VladN | 2013-05-09