可以說我擁有表格Invoices
和Customers
。所有的發票都應該有一個客戶,但並不是所有的都有。即使連接的行不存在,使JOIN查詢匹配
我想選擇所有發票並將它加入到客戶的問題是,如果發票沒有客戶那麼該發票將不會在結果中顯示。
我現在擁有的是:
var query = from inv in Db.Invoices
join cust in Db.Customers on inv.IdCustomer equals cust.Id
select new { Invoice=inv, Customer=cust };
該查詢的偉大工程,如果發票有一個客戶。 如何選擇一個空客戶,並在客戶沒有找到的情況下仍然可以讓我查詢所有發票?我希望查詢返回所有發票,如果客戶在那裏加入它,否則返回一個空客戶。
我知道我可以做2個嵌套for循環,但我不認爲這將是有效的,當處理更多的連接時,它會更糟糕。