簡體   English   中英

Fluent NHibernate Select 按屬性分組的最大計數

[英]Fluent NHibernate Select Max of Count Grouped by property

我想使用 Projections 或 Subqueries 獲得按查詢分組的最大計數。 可能嗎?

     AEntity aAlias = null;
     BEntity bAlias = null;
     var cntQuery = await _session.QueryOver<AEntity>()
        .Left.JoinAlias(pv => pv.BEntity, () => bAlias)
        .Select(
            Projections.Group<AEntity>(e => e.Id),
            Projections.Count(Projections.Property<AEntity>(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 |
+----------------------------------------+-------+

我需要這些中的最大值,但不想使用:

  • 訂購 desc 並采取
  • ListAsync 之后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[]>();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM