2009-07-01 9 views
2

とxよりも大きいカウントを取得私は基準APIを使用して10以上のAssosiationsを持つすべての何かのエンティティを取得するためにNHibernateので問い合わせることができますどのようにこの関係を持つentitesはNHibernateは

public class Something 
{ 
    public int Id{get;set;} 
    public string Name{get;set;} 
    public IList<SomeOther> Assosiation{get;set} 
} 

のような実体を持って言いますか?このような

乾杯 コリン・

答えて

4

何か:

var dc = DetachedCriteria.For<SomeOther>() 
    .SetProjection(Projections.GroupProperty("Something.Id")) 
    .Add(Restrictions.Gt(Projections.RowCount(), 10)); 

var criteria = session.CreateCriteria(typeof (Something)) 
    .Add(Subqueries.PropertyIn("Id", dc)); 

このような何かを生成します:ナイジェルたくさん

SELECT this_.Id    as Id7_0_, 
     this_.Title   as Title7_0_ 
FROM Something this_ 
WHERE this_.Id in (SELECT this_0_.SomethingId as y0_ 
        FROM  SomeOther this_0_ 
        GROUP BY this_0_.SomethingId 
        HAVING count(*) > 10 /* @p0 */) 
+0

おかげで御馳走を働きました。 – pythonandchips

関連する問題