Jak napisać zapytanie linq za pomocą API Criteria lub QueryOver
Czy jest możliwe przekonwertowanie tego kodu poniżej, napisany przy użyciu Query (linq) api do Criteria lub QueryOver API w NHibernate? Używam tego do formatowania danych w DTO, ale działa on tylko w jedną podróż do db.
Uwaga: Próbowałem transformers.aliastobean, ale mogę używać tylko jednego transformatora na raz. Czy możliwe jest użycie wielu transformatorów w jednym zapytaniu?
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();