Прежде всего, вам не нужно создавать «полное имя», чтобы упорядочить его по двум столбцам.Вы можете сделать это следующим образом:
SELECT *
FROM Users
ORDER BY FirstName, LastName
-Edit
Или, если вы хотите определить порядок, вы можете включить «asc / desc» после каждого столбца:
SELECT *
FROM Users
ORDER BY FirstName DESC, LastName ASC
-Конец редактирования
Что касается порядка в NHibernate, если вы используете QueryOver, вы можете сделать:
var result = Session.QueryOver<Users>()
.OrderBy(x => x.FirstName).Desc
.ThenBy(x => x.LastName).Desc
.List();
Что касается критериев, я думаю (не уверен на 100%), что выможно сделать:
var result = Session.CreateCriteria(typeof(Users))
.AddOrder(Order.Desc("FirstName"))
.AddOrder(Order.Desc("LastName"))
.List<Users>();