Linq组连接和联接表的属性的where语句

时间:2016-12-04 21:55:29

标签: c# sql-server entity-framework linq join

所以我相信我发现group joinleft outer join,这就是我需要的。但我需要检查连接表属性是否为null。但我还没有完成它。

所以我基本上需要在Linq Entity Framework中等效这个查询

SELECT
    id, test, test2 
FROM Table1 
LEFT OUTER JOIN Table2 ON 
    table1.id = table2.id 
WHERE table2.example = NULL;

我曾尝试用lambda做到这一点,但还没有任何成功。我似乎无法掌握table2语句的where属性示例。

1 个答案:

答案 0 :(得分:0)

您可能需要查看:http://www.sqltolinq.com/

Linqer是一个SQL to LINQ转换器工具。它可以帮助您学习LINQ并转换现有的SQL语句。

并非每个SQL语句都可以转换为LINQ,但Linqer涵盖了许多不同类型的SQL表达式。

让我们假设您在EF dbcontext中有Table1和Table2。

from Table1 in context
from Table2 in context
    .Where(t2=> t2.ID == Table1.ID && t2.example == null).DefaultIfEmpty()
select new
{
     id= Table1.ID
    ,test = Table1.Test
    ,test2 = Table2.Test
}