Rejoindre trois tables et utiliser une jointure externe gauche

J'ai trois tables. Deux d'entre eux se joindre également, mais vous devrez joindre à un de gauche. Je suis à la recherche d'un beaucoup de code pour ce faire, dans linq mais entre deux tables seulement.

Voici le code SQL que je suis en train de re-coder au sein de 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;

Voici un extrait de code LINQ que je suis en utilisant comme base. Je ne suis pas en mesure de reconstituer le troisième tableau (produit dans mon exemple SQL) via LINQ et avec une jointure externe gauche. L'échantillon est entre les deux tables. Merci pour les conseils.

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

Michael

source d'informationauteur MdeVera