У меня есть отношения родитель-ребенок, скажем, класс и дети. Каждый ребенок принадлежит к классу и имеет оценку. Мне нужно выбрать детей (или идентификаторы детей) с наименьшей оценкой в классе.
session.CreateCriteria(typeof(Classs))
.CreateAlias("Children", "children")
.SetProjection(Projections.ProjectionList()
.Add(Projections.Min("children.Grade"))
.Add(Projections.GroupProperty("Id"))
)
.List<Object[]>();
Этот запрос возвращает мне самую низкую оценку в классе, но я не знаю, какой ребенок получил оценку. Когда я добавляю идентификатор ребенка в группу, группа ошибается, и каждый ребенок возвращается.
Я надеялся, что мы сможем просто получить идентификаторы этих детей, не группируя их. Если это невозможно, то, возможно, есть способ решить эту проблему с помощью подзапросов?