关于究竟lazy ="extra"能够做什么,有没有一个很好的解释?
我看到的所有帖子都只是重复这样一个事实:它将引用转换MyObject.ItsCollection.Count为select count(*)查询(假设它们尚未加载).
我想知道它是否能够提供更强大的功能,比如MyObject.ItsCollection.Any(o => o.Whatever == 5)变成SELECT ...EXISTS查询.
文档的第18.1节仅涉及它.我不是NH开发人员,因此我无法真正尝试它并观看SQL事件探查器而不需要做一些工作来设置所有内容; 我只是在寻找某种参考来描述这个功能的功能.
谢谢!
Jag*_*uar 20
对于版本2.x,它仅用于将a collection.Count()转换为a select count,并且就我在源代码中看到的而言,它还将允许构造collection[5]获取该特定实体(使用索引5)而不是对整个集合进行保湿.
对于版本3.xi在发行说明中没有看到任何相关内容
小智 5
刚尝试在Customer.Orders使用lazy ="extra"映射的Collection上调用Any()
customer.Orders.Any()
Run Code Online (Sandbox Code Playgroud)
并且生成的SQL语句看起来像这样(简化):
SELECT *
FROM Order
WHERE CustomerId = 120
Run Code Online (Sandbox Code Playgroud)
而在打电话的时候
customer.Orders.Count > 0
Run Code Online (Sandbox Code Playgroud)
生成的SQL看起来像这样:
SELECT count(*)
FROM Order
WHERE CustomerId = 120
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5382 次 |
| 最近记录: |