如何使用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>();