title: How do you perform a left outer join using linq extension methods
body: <p>Assuming I have a left outer join as such:</p>
  
  <pre><code>from f in Foo
  join b in Bar on f.Foo_Id equals b.Foo_Id into g
  from result in g.DefaultIfEmpty()
  select new { Foo = f, Bar = result }
  </code></pre>
  
  <p>How would I express the same task using extension methods? E.g.</p>
  
  <pre><code>Foo.GroupJoin(Bar, f =&gt; f.Foo_Id, b =&gt; b.Foo_Id, (f,b) =&gt; ???)
      .Select(???)
  </code></pre>