title: LINQ to SQL Left Outer Join
body: <p>Is this query equivalent to a <code>LEFT OUTER</code> join?</p>
  
  <pre><code>//assuming that I have a parameter named 'invoiceId' of type int
  from c in SupportCases
  let invoice = c.Invoices.FirstOrDefault(i=&gt; i.Id == invoiceId)
  where (invoiceId == 0 || invoice != null)    
  select new 
  {
        Id = c.Id
        , InvoiceId = invoice == null ? 0 : invoice.Id
  }
  </code></pre>