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

标签 c# nhibernate iteration lazy-loading

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

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

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

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

最佳答案

使用NHibernateUtil:

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

关于c# - Nhibernate,确定是否已检索到延迟加载的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23071677/

相关文章:

c# - XML 命名空间数据元素访问返回 null

nhibernate - ISessionFactory.OpenSession() 来自多个线程

loops - 无法使用 awk/gawk 循环多个输入文件

c# - 在 C# 接口(interface)应用程序之间通信并注入(inject)到另一个进程 dll

c# - 为什么数组初始值设定项不适用于局部变量?

c# - 对主窗体使用 Owner.Show() 时,应用程序保持打开状态

nHibernate 集合惰性 ="extra"- 为什么我们不使用它?

nhibernate - NHibernate 中的多对多映射

python - 在 Python 3.6 中追加迭代时重复元素

javascript - 为什么属性值为 "undefined"?