Выберите объект, когда свойство будет равняться Max с NHibernate

У нас есть запрос, который выбирает строки в зависимости от значения другого, т.е. максимум. Я не думаю, что действительно имеет много смысла, таким образом, вот запрос:

var deatched = DetachedCriteria.For<Enquiry>("e2")
   .SetProjection(Projections.Alias(Projections.Max("Property"), "maxProperty"))
   .Add(Restrictions.EqProperty("e2.EnquiryCode", "e.EnquiryCode"));

session.CreateCriteria(typeof(Enquiry), "e")
   .Add(Subqueries.PropertyEq("Property", deatched))
   .AddOrder(Order.Asc("EnquiryCode"));

Мой вопрос, действительно ли это - лучший способ? Кто-либо может предложить лучший путь?

11
задан Chris Canal 10 December 2008 в 15:57
поделиться