Вы должны использовать метод, который вы представили в этой ссылке "Dynamic Linq OrderBy".Проблема в вашем коде в том, что NHibernate не может разобрать это выражение.
Кроме того, я не совсем понимаю, почему вы пытаетесь отсортировать по значению внутри свойства, а не по самому свойству.
Если вы пытаетесь отсортировать по имени свойства, все, что вам нужно сделать, это:
1 - добавить "использование" для метода расширения в вашей ссылке
2 -используйте это как:
query.OrderBy(sort.Member);
Не пробовал, но должно работать.