2016-08-13 96 views
-2

我想左外通過連接4臺加入實體框架:LEFT OUTER JOIN實體框架

var ssss = (from supplier in entity.Supplier_master 
      join city in entity.City_master on supplier.Supplier_City equals city.id 
      join state in entity.State_master on supplier.Supplier_State equals state.id 
      join country in entity.Country_master on supplier.Supplier_Country equals country.id 
      where supplier.Supplier_Code.Equals(sup_code) 
      select (new { supplier.Supplier_Code, supplier.Supplier_Name, city.City_Name, state.State_Name, country.Country_Name, supplier.Supplier_TradeMark })).ToList(); 

執行上面的代碼作爲內部連接,請幫我找到解決做左外連接。

+1

在EF的連接是最好由EF本身來執行。你應該真的定義和使用導航屬性。 –

+0

請將您的問題編輯爲(a)重寫標題,以便它不是全部大寫的大喊; (b)將txtspk從身體上修剪下來,記住這不是聊天室; (c)爲每個表顯示「CREATE TABLE」語句。謝謝。 – halfer

回答

0

加入2表usering「into alias」,然後從該結果中選擇。

實施例:

var query = from supplier in entity.Supplier_master 
      join city in entity.City_master on supplier.Supplier_City equals city.id into citySupplier 
      from cs in citySupplier.DefaultIfEmpty() 
      select new { your fields) }; 
+0

無需更改範圍變量名稱('city' - >'cs')。最好保留相同的名稱'city',以便查詢的其餘部分與內部連接相同。 –