Объединение трех таблиц и использование левого внешнего соединения

У меня три таблицы. Два из них соединяются поровну, но одному нужно будет соединиться левой. Я нахожу много кода для этого в linq, но только между двумя таблицами.

Вот код SQL, который я пытаюсь перекодировать в LINQ.

   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;

Вот фрагмент кода LINQ, который Я использую как базу. Я просто не могу собрать третью таблицу (продукт в моем примере SQL) через LINQ и с помощью левого внешнего соединения. Образец находится между двумя таблицами. Спасибо за любые советы.

   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 };

Майкл

18
задан BizApps 26 May 2011 в 23:59
поделиться