如何在不使用分离标准的情况下通过nhibernate中的属性计数进行查询?

时间:2010-09-16 05:54:07

标签: c# nhibernate-criteria

嘿伙计们,我正在使用NHibernate 2.1.2.4000版。

实体

class bowl
{
    int id { get; set; }
    List<fruit> fruits { get; set; }
}

期望(伪)查询

var bowls = repository.where(b => b.fruits.count > 1);

问题

如何使用NHibernate条件API执行上述查询?

理想情况下,我希望能够做这样的事情(没有子查询,没有独立的标准):

var bowls = repository.where(Restrictions.Gt("fruits.count", 1));

以上是否可能?

喝彩!

1 个答案:

答案 0 :(得分:1)

只有分离标准才有可能。

另一方面,使用HQL过滤“count”非常容易:

from bowl where fruits.size > 1

Criteria API不如HQL强大。不幸的是,所有这些linq风格的API都基于标准。