Как написать этот запрос linq с помощью Criteria или QueryOver API

Можно ли преобразовать этот код ниже, написанный с использованием Query (linq) api в Criteria или QueryOver API в NHibernate? Я'используя это для форматирования данных в DTO 'Кроме того, он работает только с одной поездкой в БД.

Замечания: Я пробовал transformers.aliastobean, но я могу использовать только один трансформатор одновременно. Можно ли использовать несколько трансформаторов в одном запросе?

     from entityType in Provider.GetSession().Query()
     .Fetch(x => x.Association)
     .Fetch(x => x.Fields)
     .AsEnumerable()
     where instanceIDs.Contains(entityType.Instance.instanceID)
     select new EntityTypeDTO()
     {
     ID = entityType.ID,
     Title = entityType.Title,
     Association = entityType.Association.Distinct().Select(asc => asc.ID).ToArray(),
     Fields = entityType.Fields.Distinct().Select(fi => new CustomFieldDTO { 
 ID = fi.ID,
 Name =  fi.Name,
 Value = fi.Value,
 EntityType = fi.EntityType.ID,
 Type = fi.Type 
}).ToList()
     }).ToList();

Ответы на вопрос(1)

Ваш ответ на вопрос