2011-10-03 87 views
2

我有這樣的nhibernate標準:NHibernate的流利組由

 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)) 
      )); 

哪位成爲該查詢(I已刪除了部分從外部選擇字段以最小化這裏的長度):

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) 

問題是我想讓inner-select只選擇一個字段(min(this_0_.BM_RECONCILIATION_SIDE)),但groupby還將groupby-field添加到select。

我希望能夠創建一個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) 

不知道如何解決這個問題?

回答

1

好吧,它似乎仍然是一個open issue與nHib。
像他們總是說 - 歡迎你自己實現它.. :)

+0

謝謝 - 它並沒有讓我接近任何解決方案,但它確實表明,我不是唯一一個這個問題。 –