Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.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
C# Fluent NHibernate选择按属性分组的最大计数_C#_Nhibernate_Fluent Nhibernate - Fatal编程技术网

C# Fluent NHibernate选择按属性分组的最大计数

C# Fluent NHibernate选择按属性分组的最大计数,c#,nhibernate,fluent-nhibernate,C#,Nhibernate,Fluent Nhibernate,我想通过投影或子查询获得一些分组查询的最大计数。 可能吗 AEntity aAlias=null; BEntity-bAlias=null; var cntQuery=wait_session.QueryOver() .Left.JoinAlias(pv=>pv.BEntity,()=>bAlias) .选择( 组(e=>e.Id), Projections.Count(Projections.Property(x=>x.Id))) .ListAsync(ct); 这会返回如下结果: +---

我想通过投影或子查询获得一些分组查询的最大计数。 可能吗

AEntity aAlias=null;
BEntity-bAlias=null;
var cntQuery=wait_session.QueryOver()
.Left.JoinAlias(pv=>pv.BEntity,()=>bAlias)
.选择(
组(e=>e.Id),
Projections.Count(Projections.Property(x=>x.Id)))
.ListAsync(ct);
这会返回如下结果:

+----------------------------------------+-------+
|                   id                   | Count |
+----------------------------------------+-------+
| "af517a65-18c2-4e9f-9df6-a537cc5c9c92" |     5 |
| "48bf681d-2ccd-4df8-b0e5-b2c3f418e3d0" |     1 |
| "c0699258-9f2b-4ce6-a895-91d759cbde29" |     3 |
| "0959f6b4-b365-43fa-aede-25df327a27d1" |     2 |
+----------------------------------------+-------+
我需要这些的最大值,但不想使用:

  • 点菜
  • LINQ在
    ListAsync之后
  • SQL查询

您能试试这个,看看它是否有效吗

var results = session.QueryOver<AEntity>()
        .Left..JoinQueryOver(pv => pv.BEntity, () => bAlias)
        .SelectList(list => list
            .SelectGroup(pv => pv.Id)
            .SelectCount(() => pv.Id)
        )
        .List<object[]>();
var results=session.QueryOver()
.Left..JoinQueryOver(pv=>pv.BEntity,()=>bAlias)
.SelectList(list=>list
.SelectGroup(pv=>pv.Id)
.SelectCount(()=>pv.Id)
)
.List();

但最大选择在哪里?这与我的SelectList类似,类似吗?只需按计数投影排序,然后取(1),您将得到最大计数。是的,它可以工作,但正如我在问题中提到的,如果有本机支持此最大值选择,我不想订购desc和Take。