Kwerenda łączenia LINQ (z zerową wartością między tabelą)

Mam 3 stoliki.

Na przykładKlient, Firma iAdres.

Klient ma ref do firmy.

Firma posiada 2 niezawierające numery referencyjne do adresu (fakturowanie i wysyłka), więc w niektórych przypadkach adres może nie istnieć.

Potrzebuję wykonać zapytanie o połączenie, ale w przypadku, gdyCompany.BillingAddress lubCompany.ShippingAddress równa sięnull, Nie dostaję wszystkich danych).

Spróbowałem tego (ale to błędne zapytanie):

var res = (from client in context.Clients
    join clientCompany in context.Companies 
    on client.ClientCompanyId equals clientCompany.Id

    into clientCompanyJoin

    from company in clientCompanyJoin
    join addressBilling in context.Addresses
    on company.BillingAddressId equals addressBilling.Id

    join addressShipping in context.Addresses
    on company.ShippingAddressId equals addressShipping.Id

    select new
    {
        Client = client,
        Company = company,
        BillingAddress = ???????
        ShippingAddress = ???????
    }
);

Czy mógłbyś mi pomóc zrobić zapytanie o połączenie lub wyjaśnić, jak to zrobić?

Dzięki.

questionAnswers(2)

yourAnswerToTheQuestion