Я не знаю, как это сделать напрямую в NH.ISession
не предоставляет, ICriteria
также.IResultTransformer
просто преобразует простые объекты и списки объектов в списки.
Конечно, есть обходной путь:
CreateQuery<Customer>("select CustomerId, FullName from Customer")
.ToList<Customer>() // since now working on real objects
.ToDictionary(x => x.CustomerId, x => x.FullName)
Однако это не идеально, поскольку вы преобразуете результаты в список просто длявозможность преобразовать его в словарь.Итак, есть еще одно преобразование, ухудшающее производительность.