我有一个验证引擎,它遍历对象的所有属性并检查它们是否有效。
如果我获得一个实体并更改一个简单属性并通过引擎运行它,它会为所有延迟加载的集合提供水合。
换句话说,它获取集合并遍历该集合中的实体。如果已经检索到该集合,那么它没有问题,但是如果它没有被检索,则没有理由它是无效的,因此没有理由去获取它。
简而言之,我可以检查一个集合并查看它是否已被检索。如果我可以这样做,那么我可以相应地跳过或迭代该集合。
答案 0 :(得分:3)
使用NHibernateUtil
:
var isInitialized = NHibernateUtil.IsInitialized(entity.Collection);