Итак, я обнаружил, что это довольно просто ...
var query = session.QueryOver<MyModel>()
// Conditions here
.OrderBy(m => m.GetThisDistinctField).Desc() // ...or Asc()...
.SelectList(m => m.SelectGroup(g => g.GetThisDistinctField));
var result = query.List<FieldDataType>().ToList();
return result;
Чтобы получить упорядоченный запрос в queryover, начните с запроса, который включает в себя все необходимые критерии, но затем добавьте SelectList
/ SelectGroup
, чтобы получить внятный список.Другими словами, это похоже на то, как NHibernate может принимать обычный запрос, а затем делать специальные вещи, чтобы сделать его запросом select distinct
.
Это решение, которое я использую в текущем проекте, которое я использую.работа над;Надеюсь, это поможет кому-то еще.