title: Joining three tables and using a left outer join
body: <p>I have three tables.  Two of them join equally but one will need to join with a left.  I'm finding a lot of code to do this in linq but between two tables only.</p>
  
  <p>Here is the SQL code that I'm trying to re-code within LINQ.</p>
  
  <pre><code>   SELECT PRSN.NAME
         ,CO.NAME
         ,PROD.NAME
     FROM PERSON PRSN
       INNER JOIN COMPANY CO ON PRSN.PERSON_ID = CO.PERSON_ID
       LEFT OUTER JOIN PRODUCT PROD ON PROD.PERSON_ID = PROD.PERSON_ID;
  </code></pre>
  
  <p>Here is a snippet of LINQ code that I'm using as a base.  I'm just not able to piece together the third table (product in my sample SQL) via LINQ and with a left outer join.  The sample is between two tables.  Thanks for any tips.</p>
  
  <pre><code>   var leftOuterJoinQuery =
      from category in categories
      join prod in products on category.ID equals prod.CategoryID into prodGroup
      from item in prodGroup.DefaultIfEmpty(new Product{Name = String.Empty, CategoryID = 0})
          select new { CatName = category.Name, ProdName = item.Name };
  </code></pre>
  
  <p>Michael</p>