关于究竟lazy ="extra"能够做什么,有没有一个很好的解释?
我看到的所有帖子都只是重复这样一个事实:它将引用转换MyObject.ItsCollection.Count为select count(*)查询(假设它们尚未加载).
我想知道它是否能够提供更强大的功能,比如MyObject.ItsCollection.Any(o => o.Whatever == 5)变成SELECT ...EXISTS查询.
文档的第18.1节仅涉及它.我不是NH开发人员,因此我无法真正尝试它并观看SQL事件探查器而不需要做一些工作来设置所有内容; 我只是在寻找某种参考来描述这个功能的功能.
谢谢!
对于员工和下属 - 我想在一个查询中加载具有下属数量的员工.
public class Employee
{
public Name {get;set;}
public int NumberOfSubordinates {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
生成的SQL应如下所示:
select e.name, (select count(*) from subordinate s where s.employee_id = e.id) NumberOfSubordinates
from employee e
group by e.name
order by NumberOfSubordinates desc
Run Code Online (Sandbox Code Playgroud)