So schreiben Sie diese Linq-Abfrage mit Criteria oder QueryOver API

Ist es möglich, diesen Code zu konvertieren, der mit der API Query (linq) in Criteria oder der API QueryOver in NHibernate geschrieben wurde? Ich verwende dies, um Daten in DTOs zu formatieren. Es funktioniert auch mit nur einem Roundtrip zu DB.

Hinweis: Ich habe transformers.aliastobean ausprobiert, kann aber immer nur einen Transformator gleichzeitig verwenden. Ist es möglich, mehrere Transformatoren in einer Abfrage zu verwenden?

     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();

Antworten auf die Frage(1)

Ihre Antwort auf die Frage