Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 使用NHibernate上的QueryOver获取具有限制的子项计数_.net_Nhibernate_Queryover - Fatal编程技术网

.net 使用NHibernate上的QueryOver获取具有限制的子项计数

.net 使用NHibernate上的QueryOver获取具有限制的子项计数,.net,nhibernate,queryover,.net,Nhibernate,Queryover,如何使用QueryOver和无公式字段执行以下操作 我有以下亲子关系 公共班级俱乐部 { 公共字符串名称{get;set;} 公共IList成员身份{get;set;} } 公共班级成员资格 { 公共布尔取消{get;set;} 公共俱乐部{get;set;} } 我有以下查询,返回15个俱乐部并将结果转换为DTO,我需要在此查询中添加属于每个俱乐部且未取消的会员资格的RowCount IEnumerable results=\u querySession.QueryOver() .Order

如何使用
QueryOver
和无公式字段执行以下操作

我有以下亲子关系

公共班级俱乐部
{
公共字符串名称{get;set;}
公共IList成员身份{get;set;}
}
公共班级成员资格
{
公共布尔取消{get;set;}
公共俱乐部{get;set;}
}
我有以下查询,返回15个俱乐部并将结果转换为DTO,我需要在此查询中添加属于每个俱乐部且未取消的会员资格的
RowCount

IEnumerable results=\u querySession.QueryOver()
.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)
.选择(c=>c.NumberOfWeeks).with别名(()=>sum.NumberOfWeeks))
.TransformUsing(Transformers.AliasToBean())
.跳过(开始)
.Take(15)
.Future();

经过进一步研究,这是一个有效的查询结果:

俱乐部俱乐部=空;
IEnumerable结果=
_querySession.QueryOver(()=>clubAlias)
.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)
.使用别名(()=>sum.NumberOfWeeks)选择(c=>c.NumberOfWeeks)
.选择子查询
(
(的)查询
.Where(c=>c.cancelled==false)
.和(c=>c.Club.Id==clubAlias.Id)
.ToRowCountQuery()文件
).WithAlias(()=>sum.ActiveMembers))
.TransformUsing(Transformers.AliasToBean())
.跳过(开始)
.Take(15)
.Future();