对于这个神秘的标题感到抱歉..
你能帮我解决一下基于财产数量的选择如何使用Criteria吗? 我有一个带有属性的对象(Pool)(PoolItems),我想选择所有的池w。超过5个PoolItems。
答案 0 :(得分:5)
试试这个:
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>();
假设PoolItem表具有PoolID列作为Pool表的外键。 这种关系是一对多的。如果您没有在PoolItem类中映射PoolID属性,并且您只拥有名为“Pool”的多对一对象映射,则在分离标准中将“pItem.PoolID”替换为“pItem.Pool.Id”。