【问题标题】:NHibernate Fluent group byNHibernate Fluent 组由
【发布时间】:2011-10-03 06:57:56
【问题描述】:

我有这个休眠标准:

       criteria.Add(Subqueries.PropertyIn("Id", DetachedCriteria.For<ReconItemReconSide>()
            .SetProjection(Projections.ProjectionList()
            .Add(Projections.GroupProperty("ReconItemFk"))
            .Add(Projections.Min("ReconciliationSideFk")))
            .Add(Expression.In(Projections.Property("ReconItemFk"), items))
            ));

-变成了这个查询(我已经从外部选择中删除了一些字段以最小化这里的长度):

SELECT this_.Id                        as Id8_0_
FROM   CI.BM_RECONCILIATION_SIDE this_
WHERE  this_.Id in (SELECT   this_0_.BM_RECON_ITEM               as y0_,
                         min(this_0_.BM_RECONCILIATION_SIDE) as y1_
                FROM     CI.BM_RECON_ITEM_RECON_SIDE this_0_
                WHERE    this_0_.BM_RECON_ITEM in (345061 /* :p0 */,345877 /* :p1 */)
                GROUP BY this_0_.BM_RECON_ITEM)

问题是我希望内部选择只选择一个字段 (min(this_0_.BM_RECONCILIATION_SIDE)),但 groupby 也将 groupby-field 添加到选择中。

我希望能够创建 groupby 而不必投影 groupby 字段本身。 查询应该类似于:

SELECT this_.Id                        as Id8_0_
FROM   CI.BM_RECONCILIATION_SIDE this_
WHERE  this_.Id in (SELECT   
                         min(this_0_.BM_RECONCILIATION_SIDE) as y1_
                FROM     CI.BM_RECON_ITEM_RECON_SIDE this_0_
                WHERE    this_0_.BM_RECON_ITEM in (345061 /* :p0 */,345877 /* :p1 */)
                GROUP BY this_0_.BM_RECON_ITEM)

知道如何解决这个问题吗?

【问题讨论】:

    标签: nhibernate group-by


    【解决方案1】:

    好吧,看起来这仍然是带有 nHib 的open issue
    就像他们总是说的那样——欢迎你自己实现它.. :)

    【讨论】:

    • 谢谢 - 它并没有让我更接近解决方案,但它确实表明我不是唯一一个遇到这个问题的人。
    猜你喜欢
    • 2011-04-10
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 2015-03-15
    • 2010-11-17
    • 2010-12-21
    相关资源
    最近更新 更多