title: LINQ Join with where condition
body: <p>I can use LINQ's Join with Lambda notations no problem, but I can't work out how one would then add a <code>where</code> condition.</p>
  
  <pre><code>var q = query.Join(context.CustomerIds,
      x =&gt; x.CustomerId,
      y =&gt; y.CustomerId,
      (x, y) =&gt; new CustomerLookupResult()
      {
          dob = x.DateOfBirth.ToString(),
          forenames = x.Forenames,
          surname = x.Surname,
          loyaltyNo = y.Identifier,
          customerId = x.CustomerId
      });
  </code></pre>
  
  <p>The table I'm joining the first to contains the <code>loyaltyNo</code> in its <code>Identifier</code> column, but also contains other information in the same column and so uses a second column <code>IdentifierTypeCode</code> to allow filtering.</p>
  
  <p>So how do I now add <code>.Where(x =&gt; x.IdentifierTypeCode == "LOYALTY")</code> like I would in SQL. Appending this to end refers to the new object.</p>