Cómo escribir esta consulta de linq con Criteria o QueryOver API
¿Es posible convertir este código a continuación, escrito usando la API de Query (linq) a Criteria o API de QueryOver en NHibernate? Lo estoy usando para formatear datos en DTO, también funciona con un solo viaje de ida y vuelta a db.
Nota: Intenté transformers.aliastobean pero solo puedo usar un transformador a la vez. ¿Es posible usar transformador múltiple en una consulta?
from entityType in Provider.GetSession().Query<crmEntityType>()
.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<int>(),
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();