У нас есть запрос, который выбирает строки в зависимости от значения другого, т.е. макс. Я не думаю, что это действительно имеет большой смысл, поэтому вот запрос:
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"));
Мой вопрос: это лучший способ? Кто-нибудь может предложить лучший способ?