Linq to Entities-where语句中的子查询

Pas*_*cal 1 linq-to-entities entity-framework entity-framework-4

这必须很简单,但是我已经搜索了2个小时,却找不到答案。我该如何在Linq to Entities中编写此代码:

SELECT Reg4, Reg5, Reg6
FROM dbo.Table1
WHERE Reg1 = 15
AND Reg2 = ( SELECT MAX(Reg2) FROM dbo.Table2 WHERE Reg1 = 15);
Run Code Online (Sandbox Code Playgroud)

在查询表达式和基于方法的语法中都可以做到吗?
ks

Cra*_*ntz 5

var r1 = 15;
var q = from t in Context.Table1
        where t.Reg1 == r1 && 
              t.Reg2 == Context.Table2
                               .Where(t2 => t2.Reg1 == r1)
                               .Max(t2 => t2.Reg2)
        select t;
Run Code Online (Sandbox Code Playgroud)

如果您具有从表1到表2的导航/关联,则更加容易。但是您没有显示,所以我也不会。