Nhibernate,确定是否已检索到lazyloaded集合

时间:2014-04-14 22:41:07

标签: c# nhibernate iteration lazy-loading

我有一个验证引擎,它遍历对象的所有属性并检查它们是否有效。

如果我获得一个实体并更改一个简单属性并通过引擎运行它,它会为所有延迟加载的集合提供水合。

换句话说,它获取集合并遍历该集合中的实体。如果已经检索到该集合,那么它没有问题,但是如果它没有被检索,则没有理由它是无效的,因此没有理由去获取它。

简而言之,我可以检查一个集合并查看它是否已被检索。如果我可以这样做,那么我可以相应地跳过或迭代该集合。

1 个答案:

答案 0 :(得分:3)

使用NHibernateUtil

var isInitialized = NHibernateUtil.IsInitialized(entity.Collection);