既に構築された DetachedCriteria から .SetMaxResults() / .SetFirstResults() を削除/元に戻す方法はありますか?
元の DetachedCriteria を変更せずに実行できますか?
既に構築された DetachedCriteria から .SetMaxResults() / .SetFirstResults() を削除/元に戻す方法はありますか?
元の DetachedCriteria を変更せずに実行できますか?
はい、値を「-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);