just create specialised DTOs Viewmodels for each scenario and select directly into them
using NHibernate.Linq;
var user = session.Query<User>()
.Where(user => user.Name == someName)
.Select(user => new LoginUser(user.Id, user.Name))
.FirstOrDefault();