Nhibernate,确定是否已检索到延迟加载的集合

Rai*_*aif 4 c# iteration nhibernate lazy-loading

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

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

换句话说,它获取集合并遍历该集合中的实体。如果集合已经被检索,那很好,但如果它没有被检索,那么它没有理由是无效的,所以没有理由去获取它。

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

Naj*_*era 5

使用NHibernateUtil

var isInitialized = NHibernateUtil.IsInitialized(entity.Collection);
Run Code Online (Sandbox Code Playgroud)