有没有办法从已经构造的DetachedCriteria中删除/撤消.SetMaxResults()/ .SetFirstResults()?
可以在不更改原始DetachedCriteria的情况下完成吗?
答案 0 :(得分:4)
是的,你可以通过将其值设置为“-1”来删除/撤消它,nHibernate内部使用静态值NHibernate.Engine.RowSelection.NoValue
criteria.SetMaxResults(NHibernate.Engine.RowSelection.NoValue);
criteria.SetFirstResult(NHibernate.Engine.RowSelection.NoValue);
如果你想保留原来的DetachedCriteria,你需要在更改之前创建一个克隆.SetMaxResults / .SetFirstResult
DetachedCriteria clonedCriteria = NHibernate.CriteriaTransformer.Clone(originalCriteria)
.SetMaxResults(NHibernate.Engine.RowSelection.NoValue)
.SetFirstResult(NHibernate.Engine.RowSelection.NoValue);