Как я могу сделать следующее, используя QueryOver и без полей формул.
У меня есть следующие отношения родитель / потомок
public class Club {
public string Name {get; set;}
public IList<Membership> Memberships {get; set;}
}
public class Membership {
public boolean Cancelled {get; set;}
public Club Club {get; set;}
}
У меня есть следующий запрос, который возвращает 15 клубов и преобразует результаты в DTO. Мне нужно добавить в этот запрос RowCount членств, принадлежащих каждому клубу и не отменено.
IEnumerable<ClubIndexViewModelLineSummary> results = _querySession.QueryOver<Club>()
.OrderBy(c => c.IsActive).Desc
.OrderBy(c => c.Name).Asc
.SelectList(list => list
.Select(c => c.Id).WithAlias(() => sum.Id)
.Select(c => c.Name).WithAlias(() => sum.Name)
.Select(c => c.IsActive).WithAlias(() => sum.IsActive)
.Select(c => c.NumberOfWeeks).WithAlias(() => sum.NumberOfWeeks))
.TransformUsing(Transformers.AliasToBean<ClubIndexViewModelLineSummary>())
.Skip(start)
.Take(15)
.Future<ClubIndexViewModelLineSummary>();