给定一个带有外连接的 LINQ to Entity 查询...
var query = from items in entityDb.TableName
join requestedBy in entityDb.People on items.RequestedById equals requestedBy.PersonId into requestedByOuter
from requestedBy in requestedByOuter.DefaultIfEmpty()
select items;
这种外连接的编译(Lamba 表达式)版本是什么样的?有没有办法在 Visual Studio 调试器中看到这个?
更新
为了澄清,Jon Skeet 在他的书中解释说,查询表达式在进行“真正的编译”之前被“编译器翻译”为普通的 C# 代码。我的问题是,在外连接的情况下,查询表达式如何转换为真正的 C#?而且,我们可以在调试器中或通过其他方式看到这些翻译吗?