抱歉,标题有点晦涩难懂。
你能帮助我,关于如何根据属性的计数,使用条件进行选择吗?我有一个具有属性( PoolItems )的对象(池),并且我想选择超过5 PoolItems的所有池w。
发布于 2009-12-03 06:49:51
试试这个:
DetachedCriteria dCriteria = DetachedCriteria.For<PoolItem>("pItem")
.SetProjection(Projections.Count("Id"))
.Add(Restrictions.EqProperty("pItem.PoolID", "pool.Id"));
IList<Post> posts = Session.CreateCriteria<Pool>("pool")
.Add(Subqueries.Gt(5, dCriteria)).List<Pool>();假设Pool表有一个PoolID列作为Pool表的外键。这是一对多的关系。如果您没有在PoolItem类中映射PoolID属性,而只是具有名为“PoolItem”的多对一对象映射,则在分离条件中将"pItem.PoolID“替换为"pItem.Pool.Id”。
https://stackoverflow.com/questions/1833285
复制相似问题