我有3個表。LINQ加入查詢(在表之間有可爲空的參考)
例如客戶,公司和地址。
客戶端已經接受公司。
公司已收到2個可空的參考地址(帳單和發貨),因此在某些情況下地址可能不存在。
我需要做連接查詢,但如果當Company.BillingAddress
或Company.ShippingAddress
等於null
,我沒有得到所有數據)。
我想它(但它是錯的查詢):
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 = ???????
}
);
能否請你幫我做一個聯接查詢或解釋如何做到這一點?
謝謝。
加入什麼?返回類型的結構應該是什麼?你可以發佈一些代碼或一些僞代碼嗎? – LightStriker
我加了一個例子.. –