1

my work is using NHibernate 2.0.1.4000 for .NET. We are trying to upgrade to later version (3+) but cannot due to changes in DetachedCriteria. In 2.0, you can use DetachedCriteria.AddOrder(order), and then DetachedCriteria.Orders to get the list of the Order objects. In later versions, DetachedCriteria.Orders is gone. Is there another way to get the list of Order? We have code that checks if count is 0. For example:

            if (criteria.Orders.Count == 0)
            {
                criteria.AddOrder(Order.Asc("User.FirstName"));
                criteria.AddOrder(Order.Asc("User.LastName"));
                criteria.AddOrder(Order.Asc("User.Login"));
            }

Thanks

Tapeo
  • 21
  • 1
  • 2

1 Answers1

1

No, you can't, unless you're willing to use reflection. The inner CriteriaImpl field is private, as you can see here: https://github.com/nhibernate/nhibernate-core/blob/ad4c2ef101cbf8ba798220973f4f78dd795e0896/src/NHibernate/Criterion/DetachedCriteria.cs. You will need to keep track of that collection yourself.

Ricardo Peres
  • 13,724
  • 5
  • 57
  • 74