0
我使用实体框架6.1.1和我有加入一个表对另一个select语句的查询:实体框架连接表对查询
SELECT *
FROM Table1 T1
LEFT OUTER JOIN (SELECT * FROM Table2 WHERE Field = 123) AS T2 ON T1.Field = T2.Field
是否有可能写出像这样使用实体框架的查询语法?
我使用实体框架6.1.1和我有加入一个表对另一个select语句的查询:实体框架连接表对查询
SELECT *
FROM Table1 T1
LEFT OUTER JOIN (SELECT * FROM Table2 WHERE Field = 123) AS T2 ON T1.Field = T2.Field
是否有可能写出像这样使用实体框架的查询语法?
from t1 in Table1
join t2 in Table2.Where(t => t.Field == 123) on t1.Field equals t2.Field into t2j
select new {
T1 = t1,
T2 = t2j.DefaultIfEmpty(),
}
可以过滤Table2
之前加入,然后使用组加入+ DefaultIfEmpty
从https://msdn.microsoft.com/en-us/library/bb397895.aspx:
可以使用LINQ执行通过调用DefaultIfEmpty方法左外连接对一个组加入的结果。