2016-08-13 99 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',以便查询的其余部分与内部连接相同。 –