如何在NHibernate中获得Junction标准的计数

本文关键字:标准 Junction NHibernate | 更新日期: 2023-09-27 18:21:07

I使用标准编写NHibernate查询

Junction criterion = Restrictions.Conjunction();
criterion.Add(something1);
criterion.Add(something2);
....
criterion.Add(somethingN);

以及如何计算criterion.GetCountOfCriteries() 等标准中的标准

在Junction的源代码中,我看到了标准列表

private readonly IList<ICriterion> criteria = new List<ICriterion>();

但它具有私有的修饰符。

一些想法?

如何在NHibernate中获得Junction标准的计数

这是不可能的。这并不是故意的。为什么?因为我们使用ICriteria API,而不是其实现(我们可以在代码或调试器中看到)

因此,如果ICriteria会有不同的实施方式。。。没有人能保证会有一些readonly ILIst<ICriterion>。。。

作为一种解决方案,我建议在ICriteriaAPI (if really needed)之外执行此操作。而且,也许可以试着重新检查是否需要这些信息。