было бы полезно узнать ваш вариант использования. Может быть, есть лучший способ решить эту проблему, но здесь идет то, что вы просили:
var persistor = session.GetSessionImplementation().GetEntityPersister(obj.GetType().Name, obj);
object[] values = persistor.GetPropertyValues(obj, NHibernate.EntityMode.Poco);