Есть ли способ упорядочить список объектов по количеству свойств, которые являются коллекцией?
В качестве аргументов, скажем, у меня есть объект вопроса со свойством имени вопроса, свойство, которое является коллекцией объектов ответа, и другое свойство, которое является коллекцией пользовательских объектов. Пользователи присоединяются к таблице вопросов с помощью внешнего ключа таблицы вопросов, а ответы объединяются с помощью средней таблицы присоединения.
Если я хочу, чтобы nhibernate получил список объектов "вопрос", я мог бы заказать его по
Question.Answers.Count
Я попробовал пример документации с использованием HQL:
List<Question> list = nhelper.NHibernateSession
.CreateQuery("Select q from Question q left join q.Answers a group by q,a order by count(a)")
.List<Question>();
но я получаю
"column Question.Name is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause"
Я пытался добавить все свойства в группу по списку, но это не работает. Затем происходит то, что userId внешнего ключа вызывает ту же ошибку, что и выше, но я не могу включить его в группу, так как nhibernate перечисляет его как
Question.Users.UserId
, который не решает проблему, если включен.
есть идеи?