Partial linq text searching with Contains
<p>I'm trying to do a text search on a partial property match on related entities.</p>

<p>My entities are:</p>

<pre><code>public class TradeContact
{
    [Key]
    public int TradeContactId { get; set; }

    public virtual ICollection&lt;Region&gt; Regions { get; set; }

}

public class Region
{
    [Key]
    public int RegionId { get; set; }
    public virtual ICollection&lt;TradeContact&gt; TradeContacts { get; set; }
}
</code></pre>

<p>My goal is that if a TradeContact has the following regions: Sydney, Brisbane, Darwin, then I should be able to search for 'Syd' to retrieve that TradeContact record.</p>

<p>Currently I'm searching like this:</p>

<pre><code>TradeContacts = TradeContacts
    .Where(s =&gt; s.Regions.Select(x =&gt; x.Name.ToUpper())
    .Contains(searchString.ToUpper()));
</code></pre>

<p>This code finds full matches, so 'Sydney' will return my TradeContact, but it doesn't work on partial matches.</p>

<p>What have I done wrong?</p>