Это на самом деле не совсем очевидно, если вы используете интерфейс QueryOver
- который является более сложным и тонким, чем кажется на первый взгляд. Попробуйте использовать NHibernate.Linq.LinqExtensionMethods.Query<T>
:
session.Query<Person>().Select(p => p.Husband).Select(p => p.Name).ToList()
Даст вам List<string>
, соответствующий sql:
select h.name from (select husband as h from person) as h